我想知道如何指示传递给 shell 脚本的参数数量减 1。我尝试了以下方法:${#-1},但不起作用。有人能帮我吗?谢谢您的回答。
答案1
您可以使用算术扩展语法使用变量执行计算,并从中获取脚本或当前函数的参数数量$#
:
count_minus_one=$(( $# - 1 ))
echo "$count_minus_one"
最好先将所有参数的数量分配给自定义变量,如果您想要任意数组的长度而不是脚本/函数参数数量,则尤其需要这样做,因为您无法在算术扩展中进行正确的变量扩展。这看起来像:
all_count=$#
count_minus_one=$(( all_count - 1 ))
echo "$count_minus_one"