Answers:
这是外壳程序的子字符串扩展(参数扩展的子类)模式。
格式为:
${parameter:offset:length}
索引从0开始。
假设您有一个变量foo
,然后${foo:0:2}
产生前两个字符(从位置0开始到下一个2)。
例:
$ foo=spamegg
$ echo "${foo:0:2}"
sp
在您的情况下,第一个数字1
表示变量名$1
,它是通过命令行(在主程序中)传递的第一个参数或传递给函数的第一个参数。
因此,在您的情况下,"${1:0:2}"
将:
开始从索引0开始提取子字符串,即第一个字符
并继续到下两个字符
因此,在操作之后,您将获得输入字符串的前两个字符(索引为0和1)。
在[ "${1:0:2}" != $rowArgName ]
与[ "${1:0:2}" != $colArgName ]
被检查,如果输出subtring等于其他一些字符串。
-c
或-r
,它可能是用getopts
bash
。