Mat*_*bel 7 syntax bash shell scripting
我知道了
foo() {
if [[ $# -lt 1 ]]; then
    return 0 
fi
...
}
通过使用$#进行比较究竟是什么呢?
$#表示传递给脚本的命令行参数的数量.
sh-3.2$ cat a.sh
echo $#  #print the number of cmd line args.
sh-3.2$ ./a.sh
0
sh-3.2$ ./a.sh foo
1
sh-3.2$ ./a.sh foo bar
2
sh-3.2$ ./a.sh foo bar baz
3
在函数内部使用时(如在您的情况下),它表示传递给函数的参数数量:
sh-3.2$ cat a.sh
foo() {
        echo $# #print the number of arguments passed to the function.
}
foo 1
foo 1 2
foo 1 2 3
sh-3.2$ ./a.sh
1
2
3
| 归档时间: | 
 | 
| 查看次数: | 958 次 | 
| 最近记录: |