Unix-如何根据输入的整数返回+, - ,0?

时间:2015-02-13 03:50:57

标签: unix

我想创建一个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。

2 个答案:

答案 0 :(得分:2)

我通过分隔readdeclare行来使脚本工作。

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

在这里工作。