gpt4 book ai didi

bash - 如果返回代码 >=1 重新运行脚本,从头开始

转载 作者:行者123 更新时间:2023-11-29 09:10:41 26 4
gpt4 key购买 nike

我有一个 bash 脚本,它打印标题并测试值“Y”或“N”。

当有人输入不等于“Y”或“N”的文本时,我想将它们发送回脚本的开头,因此它会再次打印标题和问题。

我知道您可以使用 goto 执行此操作,但我想知道是否有其他方法,因为我听到很多人说您不应该使用 goto 或它已被弃用。不管真假,我想看看有没有其他人有办法解决这个问题。

提前致谢。

最佳答案

你可以在一个循环中实现它:

while [ !$exit_loop ]
do
echo "enter choice - "
read -n 1 input
case "$input" in
y|Y) $exit_loop = 1;;
n|N) $exit_loop = 1;;
*) echo "invalid choice";;
esac
done

我个人认为使用 goto/loop 或任何其他方式没有区别。我总是说使用最适合情况的内容 - 对于你的情况,我会使用 goto。

例如如果您有多个缩进跨越很多行,并且您需要跳回到函数的开头,我会使用 goto - 在其上下文中更容易理解。

关于bash - 如果返回代码 >=1 重新运行脚本,从头开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7955984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com