Lau*_*ves 33
使用$#
特殊变量.它的值是参数的数量.因此,如果您的脚本仅包含:
echo $#
Run Code Online (Sandbox Code Playgroud)
并执行它:
thatscript foo bar baz quux
Run Code Online (Sandbox Code Playgroud)
它会打印4.
在您的情况下,您可能想要做以下事情:
if [ $# -ne 2 ]; then
# TODO: print usage
exit 1
fi
Run Code Online (Sandbox Code Playgroud)
And*_*rew 20
根据参数应该包含"至少2件事"的问题的要求,我认为检查可能更准确:
if (( $# < 2 )); then
# TODO: print usage
exit 1
fi
Run Code Online (Sandbox Code Playgroud)
使用算术扩展 ((
))
将阻止此命中exit 1
任何不等于2的值.
如果使用if [ $# -ne 2 ];
它将触发除2以外的任何数量的参数的条件.
归档时间: |
|
查看次数: |
27678 次 |
最近记录: |