有人知道什么吗${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(使用前将#替换为@)