3 回答
TA贡献1884条经验 获得超4个赞
它是:
if [ $# -eq 0 ]
then
echo "No arguments supplied"
fi
该$#变量将告诉您脚本传递的输入参数的数量。
或者您可以检查参数是否为空字符串或不是:
if [ -z "$1" ]
then
echo "No argument supplied"
fi
该-z开关是检验的“$ 1”的扩张是一个空字符串或没有。如果它是一个空字符串,则执行正文。
TA贡献1853条经验 获得超6个赞
最好以这种方式进行演示
if [[ $# -eq 0 ]] ; then
echo 'some message'
exit 1
fi
如果参数太少,通常需要退出。
TA贡献1810条经验 获得超5个赞
在某些情况下,您需要检查用户是否将参数传递给脚本,如果没有,则返回默认值。如下面的脚本:
scale=${2:-1}
emulator @$1 -scale $scale
这里如果用户没有scale作为第二个参数传递,我-scale 1默认启动Android模拟器。${varname:-word}是一家扩张运营商。还有其他扩展运营商:
${varname:=word}其中设置所述未定义varname的而不是返回word值;
${varname:?message}varname如果它被定义并且不为null则返回,或者打印message并中止脚本(如第一个例子);
${varname:+word}返回word如果只varname被定义并且不为空; 否则返回null。
- 3 回答
- 0 关注
- 3556 浏览
添加回答
举报