gpt4 book ai didi

Bash 不允许在 case 语句中使用 if 语句

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

谁能帮我找出我在这个 bash 脚本上做错了什么。我正在尝试在 case 语句中使用 if 语句,但 bash 提示语法错误。

findinfo() {
OPT1=$1
case "$OPT1" in
linux)
echo "Setting environment"
ESC="hello_linux" if [[ "$PROJN" == "ONE" || "$PROJN" == "two" ]]
;;
Windows)
echo "Setting environment"
ESC="hello_windows" if [[ "$PROJN" == "ONE" || "$PROJN" == "two" ]]
;;
Android)
echo "Setting environment"
ESC="hello_android" if [[ "$PROJN" == "ONE" || "$PROJN" == "two" ]]
;;
esac

}

谢谢

最佳答案

在 bash 中,if 必须在 then 部分之前:

if [[ "$PROJN" == "ONE" ||  "$PROJN" == "two" ]] ; then ESC=hello_linux ; fi

“后缀”if 在 Perl 中(也许在其他地方也可能)是可能的,但在 bash 中不行。

关于Bash 不允许在 case 语句中使用 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17949857/

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