在做shell练习题获取命令行参数的时候,报错如下
经过检查发现犯了一个超级弱智的错误,居然没有在命令行输入参数,shell无法从命令行获取到参数当然报错。所以需要加上参数
除了添加参数参数外,可以用条件测试配合if来进行判断,保证程序的健壮性
#!/bin/bash
if [ -n "$1" ]
then
echo "$1"
else
echo "没有输入参数"
fi
还可以使用特殊的变量$#来解决此问题,这个变量存储你执行脚本的时候输入的参数的个数,不包括脚本名,通过判断参数个数是否与预期的相符,来解决这个问题
#!/bin/bash
if [ $# -ne 2 ]
then
echo "输入格式有错误"
else
echo "两数之和为:$[$1+$2]"
fi