shell case in 返回问题

下面脚本里第三选择想实现返回 echo "选择yes/no" ,用了while true;do ,retrun 0 虽然能实现功能,但是一直报错 return: can only `return' from a function or sourced script, help!!!

#!/bin/bash

echo "选择yes/no"
read chooise
case $chooise in
yes)
    echo "1111"
;;
no)
    exit 0
;;
*)
    echo "重新选择"
;;
esac
阅读 4.5k
2 个回答

我不是特别清楚,我写了一个或许可以使用,还有完善的地方。

#!/bin/bash

echo "选择yes/no"
flag=1
ret=0
#read chooise
while [ $flag -eq 1 ]; do
read chooise
case $chooise in
    yes)
        echo "1111"
        let ret=1
        let flag=0
        ;;
    no)
        #exit 0
        let ret=0
        let flag=0
        ;;
    *)
        echo "重新选择"
        ;;
esac
done
echo $flag
echo $ret

还是搞定了.

#!/bin/bash
while true
do
echo "选择yes/no"
read chooise
case $chooise in
yes)
    echo "1111"
    exit
;;
no)
    exit 
;;
*)
    echo "重新选择"
;;
esac
done
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进