我知道$#
中的位置参数数量bash
。但是如何bash
解释${##}
?这是我系统的输出示例。
$ echo $#
0
$ echo ${#}
0
$ echo ${##}
1
$ echo $##
0#
$#
是位置参数的数量,${##}
是$#
的值的长度(以字符为单位);换句话说,它是底数的对数加10并向下取一。$##
不起作用,因为它不符合参数扩展语法。
观察:
$ bash -c 'echo "$# ${##}"' _ {1..9}
9 1
$ bash -c 'echo "$# ${##}"' _ {1..10}
10 2
$ bash -c 'echo "$# ${##}"' _ {1..100}
100 3
有关更多信息,请参见Bash参考手册§3.5.3 Shell参数扩展。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句