它是我计划的一部分,
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脚本中有错误吗? 请帮忙。
答案 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中的评论无效。