Shell脚本:如果条件没有正确评估

时间:2015-10-02 06:10:19

标签: linux shell unix

我有以下脚本。

echo "CURMTHY" $CURMTHY     //This prints the value 10
if [ $CURMTHY -eq 01 ]
echo "inside if"
then PRVMTHY=12
     PRVYRY=`expr $CURYRY - 1`
else PRVMTHY=`expr $CURMTHY - 1`
    echo "inside else"
     PRVYRY=$CURYRY
fi

而不是输入else条件,它进入if条件。虽然CURMTHY变量保持值10 为什么它满足01的条件?

1 个答案:

答案 0 :(得分:0)

试试这个:

echo "CURMTHY" "$CURMTHY"

if [ "$CURMTHY" -eq 1 ]; then
   echo "inside if"
   PRVMTHY=12
   PRVYRY=$(expr $CURYRY - 1)
else
   PRVMTHY=$(expr $CURMTHY - 1)
   echo "inside else"
   PRVYRY="$CURYRY"
fi

不要在then之前输入命令,并使用$(...)进行命令替换。