解析函数
中的bash脚本参数是一种解决方法运行命令: ./script.sh -t -r -e
脚本:
#!/bin/sh
# parse argument function
parse_args() {
echo "$#" #<-- output: 0
}
# main
echo "$#" #<-- output: 3
# parsing arguments
parse_args
答案 0 :(得分:9)
$#
计算当前范围中的参数数量。由于每个函数都有自己的范围,并且您没有将任何参数传递给parse_args
,因此$#
内部始终为0。
要获得所需结果,请将最后一行更改为:
parse_args "$@"
The special variable "$@"
将当前(顶级)范围的位置参数扩展为单独的单词。随后,它们将被传递给parse_args
。