我知道$#
中的位置参数数量bash
。但是如何bash
解释${##}
呢?这是我系统的输出示例。
$ echo $#
0
$ echo ${#}
0
$ echo ${##}
1
$ echo $##
0#
Run Code Online (Sandbox Code Playgroud)
ogu*_*ail 10
$#
是位置参数的数量,并且${##}
是$#
的值的长度(以字符为单位)。$##
不起作用,因为它不符合参数扩展语法。
例子:
$ bash -c 'echo "$# ${##}"' _ {1..9}
9 1
$ bash -c 'echo "$# ${##}"' _ {1..10}
10 2
$ bash -c 'echo "$# ${##}"' _ {1..100}
100 3
Run Code Online (Sandbox Code Playgroud)