在 bash 中使用 ${1:1}

2023-12-03

有人知道什么吗${1:1}在 bash 中意味着?

例如:

for (( i=0; $i < ${1:1}; i++ ))
do
    addToList $2
done

那是一场狂欢参数扩展.

具体来说:

${parameter:offset}
${parameter:offset:length}

这称为子串扩展。它从 offset 指定的字符开始扩展到参数值的 length 个字符。如果参数为“@”、下标为“@”或“*”的索引数组或关联数组名称,则结果会有所不同,如下所述。如果省略 length,则扩展为参数值的子字符串,从 offset 指定的字符开始,一直延伸到值的末尾。 length 和 offset 是算术表达式(参见 Shell 算术)。

以下是一些说明参数和下标数组的子字符串扩展的示例:

$ string=01234567890abcdefgh
$ echo ${string:7}
7890abcdefgh

So ${1:1}是展开位置参数的子串1从第二个字符开始(offset共 1 条 未指定length).

据推测,这是为了支持采用如下参数的脚本:

./addn -10 A

添加十个A任何元素addToList正在添加到。

尽管这是一种糟糕的处理方式,除非在此之前已经检查过论证的有效性/合理性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 bash 中使用 ${1:1} 的相关文章

  • 如何重新安装cudnn?

    安装Cudnn 4 0 4后 我发现如果我想运行我下载的代码 我需要更高版本的Cudnn 然后我下载 cudnn 7 0 linux x64 v4 0 prod tgz 并直接按以下顺序安装 sudo cp include cudnn h
  • gai_cancel() 需要很长时间才能成功

    我正在尝试在 C 中异步查找域 原因是我希望能够有效地添加超时期限 以防系统无法查找域 我遇到了 getaddrinfo a 命令 所以我决定尝试一下 然而 在我的机器上取消任何不会成功的 dns 查找 例如没有互联网连接时 永远不会花费少
  • C - printf("\a") 不会发出警报[重复]

    这个问题在这里已经有答案了 这是我的 C 代码 include
  • 如何使用Python distutils?

    我用 python 编写了一个快速程序 将 gtk GUI 添加到 cli 程序中 我想知道如何使用 distutils 创建安装程序 因为它只是命令行应用程序的 GUI 前端 所以它只能在 nix 中工作 所以我不担心它是跨平台的 我的主
  • SQLPlus 中的运行循环

    我制作了一个 bash 脚本 它通过 SQLPlus 连接到数据库并运行一个包含 For 循环的 SQL 脚本 如下所示 但是一旦运行它 它就会卡在循环的 BEGIN 中 如下所示 我尝试直接通过SQLPlus运行 结果是一样的 那么任何人
  • 如何使用c在Linux中获取当前时间戳(以纳秒为单位)

    我知道我们可以使用clock gettime CLOCK MONOTONIC 我尝试问的问题是 如果我需要以纳秒为单位的时间 从时代来看 这将是一个巨大的数字 例如 自纪元以来的秒数是13438461673 so 13438461673 1
  • 有人可以解释一下以下内存分配 C 程序的性能行为吗?

    在我的机器上 时间 A 和时间 B 交换取决于是否A是 定义或未定义 这会改变两个的顺序 callocs 被称为 我最初将此归因于寻呼系统 奇怪的是 当mmap被用来代替calloc 情况更加奇怪 两个循环花费的时间相同 正如预期的那样 作
  • C++向量数组运算符计算成本高?

    我一直都知道 C 的丰富抽象会带来一定的计算开销 但我的印象是 一旦应用了正确的编译器优化 这种开销几乎可以忽略不计 我很好奇这种开销到底有多大 所以我编写了一个简单的测试来确定这一点 该测试是一个模板化函数 它接受一个容器变量 为容器中的
  • 如何更改解释器路径并将命令行参数传递给 Linux 上的“可执行”共享库?

    这是 可执行 共享库的最小示例 假设文件名 mini c Interpreter path is different on some systems definitely different for 32 Bit machines cons
  • Emacs shell:保存提交消息

    我几天前开始使用 emacs 在 emacs shell M x shell 中使用 git 时遇到问题 当我 git commit 或 git commit amend 时 它会打开 vim 来编辑并保存提交消息 我对此表示同意 但我找不
  • Linux GCC 上 的 C++ 编译问题

    尝试过谷歌并在这里搜索 但没有运气 我正在尝试将一些使用 Windows 的代码移植到 Linux 上 然后我得到了大量的编译错误 我所做的只是 include
  • 如何在 Linux 上正确地将网络接口置于混杂模式

    那么如何正确地做到这一点呢 我知道如何通过创建套接字 然后使用 ioctl 设置 IFF PROMISC 标志来做到这一点 如 如何在C中检查网络设备状态 https stackoverflow com questions 3055622
  • Motif 库的水平绘制的 RowColumn 类 (C)?

    我正在使用 Motif Library 来完成我的工作 如果有人不熟悉这个库 您可以在这里找到文件列表https packages ubuntu com xenial amd64 libmotif dev filelist https pa
  • ulimit -r 返回不同的值

    我将以下两行添加到系统范围的 etc security limits conf 中 soft rtprio 55 hard rtprio 55 系统重新启动后 根据我在计算机上访问用户帐户的方式 我会得到两个不同的结果 user clien
  • VBA:如何从 MS Access 运行另一个应用程序

    我一直在试图解决这个问题 但似乎我在任何地方都找不到解决该问题的方法 这是第一部分 VBA Shell 命令始终返回 找不到文件 https stackoverflow com questions 10439024 vba shell co
  • 如何在不需要设置 LD_LIBRARY_PATH shell 变量的情况下输入“cargo run”?

    我构建了一个 Rust 程序 通过 C 接口调用 C 函数 为了执行该程序 我必须运行 export LD LIBRARY PATH
  • 过滤 stderr 并获取初始返回代码

    在 shell 脚本中 我必须运行一个命令 我需要确定返回码是什么 但事实证明该命令的输出会发送到 stderr 并且还会输出用户的密码 不幸的是 这是命令的一个参数 不好 我知道 我至少想过滤掉密码 使其不被显示回来 cmd OPTION
  • 生成(非常)大的非重复整数序列而不进行预洗牌

    背景 我编写了一个简单的媒体客户端 服务器 我想生成一个不明显的时间值 随从客户端到服务器的每个命令一起发送 时间戳中将包含相当多的数据 纳秒分辨率 即使它不是真正准确 因为现代操作系统中计时器采样的限制 等 我想做的 在 Linux 上
  • Linux 堆栈大小

    我正在寻找 Linux 内核中堆栈的良好描述 但我发现找到任何有用的东西出奇地困难 我知道大多数系统的堆栈限制为 4k 而其他系统则限制为 8k 我假设每个内核线程 下半部分都有自己的堆栈 我还听说 如果中断发生 它会使用当前线程的堆栈 但
  • 从外部 bash 设置环境变量

    我试图使用 PHP 从命令行 设置 bash 环境变量 但没有成功 buff array buff VARTESTKEY VARTESTVALUE buff export VARTESTKEY file put contents scrip

随机推荐

  • 在 PySpark Builder 中设置 PySpark 序列化器

    我正在使用 PySpark 2 1 1 并尝试在使用 Spark Submit 时设置序列化器 在我的应用程序中 我按如下方式初始化 SparkSession builder print creating spark session spa
  • 如何在R中直接绘制h2o模型对象的ROC

    如果我遗漏了一些明显的东西 我很抱歉 在过去的几天里 我非常喜欢使用 R 界面与 h2o 一起工作 我想通过绘制 ROC 来评估我的模型 例如随机森林 该文档似乎表明有一种简单的方法可以做到这一点 解释 DRF 模型 默认情况下 显示以下输
  • 写入会话数据失败

    在长时间使用同一应用程序而没有更改编程后 我收到了此消息 Warning Unknown write failed No space left on device 28 in Unknown on line 0 Warning Unknow
  • 在 JavaScript 中获取两个日期的秒数差异

    我使用 Date 将日期存储在 MongoDB 中 MongoDB 使用 UTC 它的日期类型 字符串看起来像Mon 02 Apr 2012 20 16 31 GMT 我想获得当前时间与当前时间 UTC 时间 之间的时间差 以总秒数为单位
  • 在某些观察结果之前选择组,通过将 R 中的 var 分组与 NA 控制分开

    我的样品 data structure list add structure c 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 1L 2
  • Android:后退按钮中的 onSaveInstanceState

    我正在开发一个应用程序 其中我将覆盖后退按钮 我创建了一个复选框 单击后我调用意图 startActivityforResult 并且还保持活动状态为 Override public void onSaveInstanceState Bun
  • SQL Server 日期时间 LIKE 选择?

    在MySQL中 select from record where register date like 2009 10 10 SQL Server 中的语法是什么 您可以使用 DATEPART 函数 SELECT FROM record W
  • PHP 中的工厂设计模式是什么?

    这让我很困惑 用最简单的术语来说 它有什么作用 假装你正在向你的母亲或其他人解释 工厂创建一个对象 所以 如果你想构建 class A public classb public classc public function construc
  • 对象数组的 Var-arg 与对象数组——尝试理解 SCJP 自测问题

    我无法理解这个问题以及 SCJP 1 6 自测问题答案的解释 问题是这样的 class A class B extends A public class ComingThru static String s public static vo
  • C++ 返回并插入二维数组对象

    我试图从一个较小的 2D 数组对象返回一个数组数据成员 并尝试将该数组插入到一个更大的 2D 数组对象中 但当我尝试这样做时 我遇到了两个问题 第一个问题是我想返回 2D 数组的名称 但我不知道如何正确的语法来返回 2D 数组名称 这就是我
  • 获取值和位置来标记 ggplot 直方图

    下面的代码运行良好 并且它正确地标记了条形图 但是 如果我尝试geom text对于直方图我失败了geom text需要一个y 分量和直方图y组件不是原始数据的一部分 标记 普通 条形图 geom bar stat identity 效果很
  • 使用C#获取插入行的id

    我有一个查询要在表中插入一行 该表有一个名为 ID 的字段 该字段是使用列上的 AUTO INCRMENT 填充的 我需要为下一个功能获取这个值 但是当我运行以下命令时 它总是返回 0 即使实际值不为 0 MySqlCommand comm
  • iOS 上的自定义键盘:如何访问 UITextField?

    我有一个UIView我分配给文本字段的子类如下 self textField inputView HexKeyboard alloc initWithFrame CGRectMake 0 0 100 100 这有效 即键盘出现 然而 应该如
  • 提取以特定字符开头的几个单词EXCEL

    我有这个公式来提取以给定字符 开头的特定单词 它工作正常 但是 有更多以相同开头的单词 它只会提取第一个单词 如何让它全部提取出来 TRIM LEFT SUBSTITUTE MID B2 FIND B2 LEN B2 REPT 100 10
  • 为 n 维系统实现模块化 Runge-kutta 四阶方法

    我正在尝试使我的 runge kutta 四阶代码模块化 我不想每次使用它时都必须编写和声明代码 但是在 hpp和 cpp文件中声明它以分别使用它 但我遇到了一些问题 一般来说 我想求解 n 维方程组 为此 我使用两个函数 一个用于方程组
  • 如何在谷歌浏览器中创建侧边栏(右侧)?

    似乎这是不可能的 但如果有人提示如何在 google chrome 中创建右侧边栏 如 iframe 任何提示都会有所帮助 谢谢 截至目前 实验性侧边栏 API 已从 Chrome 文档中消失 因为不再有开发人员在处理它 对于现在可以实现的
  • 与循环相比,使用函数有什么优点?

    函数式迭代器似乎正在取代 JS 中 for 循环的使用 传递诸如此类的函数有什么好处map or reduce与 for while 循环相比 var numbers 1 4 9 var doubles numbers map functi
  • 我可以选择性地禁用软件包加载到 VS2010 中吗?

    继续问题来自 VS2010加载缓慢 我可以分析扩展程序各自的启动时间吗 查看日志文件后 发现有一些我没有太多使用的包 我认为 加载时间 包 2s Microsoft VisualStudio TeamArchitect DesignersC
  • 当值为 null 时使用 Thymeleaf

    我的数据库中有一些值 如果尚未输入 则这些值可能为空 但是当我在 html 中使用 Thymeleaf 时 它在解析 null 值时会出错 有什么办法可以处理这个问题吗 最短的方法是使用 操作员 如果您有嵌入地址实体的用户实体 以便访问地址
  • 在 bash 中使用 ${1:1}

    有人知道什么吗 1 1 在 bash 中意味着 例如 for i 0 i lt 1 1 i do addToList 2 done 那是一场狂欢参数扩展 具体来说 parameter offset parameter offset leng