案例陈述不起作用

时间:2013-04-20 07:11:48

标签: shell case

它是我计划的一部分,

output="$(./t1)"        // output=5

echo $output            // It displays 5

if test $output -eq 5
then
echo "five"             // this if statement works and displays 'five'
fi

case $output in          **// this case is not working and giving just default value**

1) echo "one" ;;

2) echo "two" ;;

3) echo "three" ;;

4) echo "four";;

5) echo "five";;

*) echo "wrong choice" ;;

esac                    // output is wrong choice though it works proper in if statement   

我的bash脚本中有错误吗? 请帮忙。

1 个答案:

答案 0 :(得分:0)

这对我有用:

output=$(./t1)
echo $output
if test $output -eq 5; then echo "five"; fi
case $output in
  1) echo "one" ;;
  2) echo "two" ;;
  3) echo "three" ;;
  4) echo "four";;
  5) echo "five";;
  *) echo "wrong choice" ;;
esac

如果"周围$(./t1),结果是字符串,而不是数值。这适用于test,但不适用于case。此外,您在帖子中遗漏了几个;//对bash中的评论无效。