Shell 有人能给我举一个unix脚本循环的简单例子吗

Shell 有人能给我举一个unix脚本循环的简单例子吗,shell,unix,scripting,loops,exit,Shell,Unix,Scripting,Loops,Exit,我只需要一个脚本的例子,在循环中重复所有相同的操作,直到我们要求停止它。假设我希望用户键入y或n作为退出,我将如何实现它。我有点像 回显“输入y或n以退出” 读取输入 如果[“$input=y] 然后 ....... 其他的 ........ fi 对于下面的答案中演示的相同脚本或其他示例,如何添加此项以使用户控制脚本,而不必仅按control+z退出 while true; do echo hello; sleep 1; done 如果为true,则执行回显hello;睡眠1;完成 将一直运行

我只需要一个脚本的例子,在循环中重复所有相同的操作,直到我们要求停止它。假设我希望用户键入y或n作为退出,我将如何实现它。我有点像 回显“输入y或n以退出” 读取输入 如果[“$input=y] 然后 ....... 其他的 ........ fi

对于下面的答案中演示的相同脚本或其他示例,如何添加此项以使用户控制脚本,而不必仅按control+z退出

while true; do echo hello; sleep 1; done 如果为true,则执行回显hello;睡眠1;完成 将一直运行,直到您发出信号

while true; do
   commands ...

   read -p "Continue (y/n) ? " answer
   case "$answer" in
      Y*|y*) : ;;
      *) break
   esac
done
如果为true,则执行回显hello;睡眠1;完成 将一直运行,直到您发出信号

while true; do
   commands ...

   read -p "Continue (y/n) ? " answer
   case "$answer" in
      Y*|y*) : ;;
      *) break
   esac
done
如果用户以“Y”或“Y”回应,则什么也不做,在这种情况下循环继续。否则,中断循环


如果用户响应为“Y”或“Y”,则不执行任何操作,在这种情况下循环将继续。否则,请中断循环。

用户如何在不按control+z的情况下获得对循环的控制?如果您在*nix机器上,ctrl-c发送SIGINT。ctrl-z发送SIGSTOP,在这种情况下不应使用。您所说的“获得对循环的控制”是什么意思"? 我不清楚你想做什么。也许glenn jackman的答案正是您想要的。用户如何在不按control+z的情况下获得对循环的控制?如果您在*nix机器上,ctrl-c发送SIGINT。ctrl-z发送SIGSTOP,在这种情况下不应使用。你所说的“控制环路”是什么意思?我不清楚你想做什么。也许glenn jackman的答案正是您想要的。如果您希望循环继续在后台运行,^z后跟bg是合适的。如果要终止循环,则需要^c。(ctrl-C而不是ctrl-Z)如果希望循环在后台继续运行,^Z后跟bg是合适的。如果要终止循环,则需要^c。(ctrl-C而不是ctrl-Z)