bash参数解析函数

时间:2014-09-06 17:35:05

标签: bash function arguments

解析函数

中的bash脚本参数是一种解决方法

运行命令:     ./script.sh -t -r -e

脚本:

#!/bin/sh
# parse argument function
parse_args() {
echo "$#"   #<-- output: 0
}


# main
echo "$#"   #<-- output: 3

# parsing arguments
parse_args

1 个答案:

答案 0 :(得分:9)

$#计算当前范围中的参数数量。由于每个函数都有自己的范围,并且您没有将任何参数传递给parse_args,因此$#内部始终为0。

要获得所需结果,请将最后一行更改为:

parse_args "$@"

The special variable "$@"将当前(顶级)范围的位置参数扩展为单独的单词。随后,它们将被传递给parse_args

的调用