gpt4 book ai didi

bash - 在 bash 中请求用户输入来设置变量

转载 作者:行者123 更新时间:2023-12-02 04:27:27 25 4
gpt4 key购买 nike

我想要一些东西来询问用户 - “您想加载哪个环境?” - 有效响应为“生产”或“开发”。如果给出的答案与两者都不匹配,则会重新提出问题。我希望它设置 $product 变量,以便我稍后可以运行代码的不同部分。这是我自己能做的最接近的事情:

read -n1 -p "Which environment would you like to load? [production,development]" doit 
case $doit in
production) echo $production=1 ;;
development) echo $production=0 ;;
*) echo ... ;;
esac

当我运行它时,它似乎没有设置变量,所以我不知道我做错了什么。此外,当未给出有效答复时,如何重新提出问题?

最佳答案

如果我理解正确,这就是您要找的:

#!/bin/bash    
while true; do
read -p "Which environment would you like to load? [production,development]" ANS
case $ANS in
'production')
production=1
break;;
'development')
production=0
break;;
*)
echo "Wrong answer, try again";;
esac
done
echo "Variable value:$production"

您启动无限循环来请求用户输入,直到其有效为止。

如果它无效,它将转到默认*),并且您通知用户这是错误的,然后再次询问,继续循环。

当找到匹配项时,您可以设置生产变量并退出循环(使用break)。现在您的代码可以继续执行您需要的任何操作,您已经设置了变量。

关于bash - 在 bash 中请求用户输入来设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25885767/

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