$ {##}在bash中是什么意思?

时间:2019-08-29 05:29:53

标签: bash

我知道$#bash中位置参数的数量。但是bash如何解释${##}?这是我系统的输出示例。

$ echo $#
0
$ echo ${#}
0
$ echo ${##}
1
$ echo $##
0#

1 个答案:

答案 0 :(得分:10)

$#是位置参数的数量,而${##}$#的值的长度(以字符为单位)。 $##不起作用,因为它不符合参数扩展语法。

示例:

$ bash -c 'echo "$# ${##}"' _ {1..9}
9 1
$ bash -c 'echo "$# ${##}"' _ {1..10}
10 2
$ bash -c 'echo "$# ${##}"' _ {1..100}
100 3

请参见Bash Reference Manual § 3.5.3 Shell Parameter Expansion