第一次在这里问一个问题并且还在学习bash,所以请耐心等待。
我使用while和case做了一个主屏幕,它应该可以工作,但它不是,我不知道我在哪里犯了错误。
while [ $WH!=5 ]
do
echo "Choice menu:"
echo " 1) Option 1"
echo " 2) Option 2"
echo " 3) Option 3"
echo " 4) Option 4"
echo " 5) End script"
echo -n "Choose an option: "
read $OP
case $OP in
1)
# code;;
2)
# more code;;
3)
# more code;;
4)
# even more code;;
5)
echo "Thank you for testing this script!"
$WH=5;;
esac
done
无论我放在$OP
中,脚本都会不断重复选择菜单,直到我取消它为止。我尝试移动时使用$OP
作为条件,但似乎没有任何效果。
答案 0 :(得分:2)
您的脚本中有多个问题: -
while
构造需要为while [ "$WH" != 5 ]
。记得要双引所有的shell变量。read
命令应为read OP
case
构造需要至少一行,结尾为;;
WH=5
而不是$WH=5
使用https://www.shellcheck.net调试此类微不足道的问题。