我知道$#
是bash
中位置参数的数量。但是bash
如何解释${##}
?这是我系统的输出示例。
$ echo $#
0
$ echo ${#}
0
$ echo ${##}
1
$ echo $##
0#
答案 0 :(得分:10)
$#
是位置参数的数量,而${##}
是$#
的值的长度(以字符为单位)。 $##
不起作用,因为它不符合参数扩展语法。
示例:
$ bash -c 'echo "$# ${##}"' _ {1..9}
9 1
$ bash -c 'echo "$# ${##}"' _ {1..10}
10 2
$ bash -c 'echo "$# ${##}"' _ {1..100}
100 3