我想创建一个shell脚本,如果输入的整数是正数,则回显a +,如果输入的整数是负数,则回显“ - ”,如果不是任何一个,则回显“0”。
所以我的脚本是这样的:
echo "Enter an Integer"
read declare -i var1
if((var1>0))
then
echo +
elif (( var1<0))
then echo -
else echo 0
fi
我一直收到错误的变量名称错误,找不到var1。
答案 0 :(得分:2)
我通过分隔read
和declare
行来使脚本工作。
echo "Enter an Integer"
declare -i var1
read var1
if((var1>0))
then
echo +
elif (( var1<0))
then echo -
else echo 0
fi
控制台日志(在OS X上运行):
$ bash e.sh
Enter an Integer
972
+
$ bash e.sh
Enter an Integer
-32
-
$ bash e.sh
Enter an Integer
0
0
答案 1 :(得分:1)
我相信你想要read
,然后测试你的价值观。像
echo "Enter an Integer"
read var1
if [[ "$var1" -gt 0 ]]
then
echo +
elif [[ "$var1" -lt 0 ]]
then
echo -
else
echo 0
fi
在这里工作。