Ubuntu脚本永远不会结束循环

时间:2018-06-04 15:36:31

标签: bash shell ubuntu scripting

我刚开始为大学编写脚本,我正在尝试制作一个菜单,在选择时运行某些功能。现在我只是试图让菜单出现,但它会陷入无限循环。我根本不擅长编写脚本,但确实需要在课程中学习它。

while true
do
    echo "1) option1"
    echo "2) option2"
    echo "3) option3"
done

2 个答案:

答案 0 :(得分:1)

对于shell中的菜单,请使用select语句:

PS3='Select your choice: '
select ans in "option1" "option2" "option3" quit
do
    case $ans in
        option1) do_something ;;
        option2) do_something ;;
        option3) do_something ;;
        quit) break ;;
    esac
done

答案 1 :(得分:0)

在条件所在的while循环中,您提供true,这意味着条件将始终为TRUE,因此为无限循环。

这就是while循环的工作原理:

while condition
if condition is TRUE--> then go inside loop and do operations as per instructions in it.
if condition is FALSE--> then come out of loop since the given condition is no more.

非常基本的while循环示例:

while ((i<=3))
do
  echo "Hey there..."
  ((i = i +1 ))
done

输出如下。

Hey there...
Hey there...
Hey there...
Hey there...