You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BASH中case语句内设置变量报错:region: command not found 求助

BASH case语句错误修正

你的脚本报错核心是两个语法问题:

  • 变量赋值格式错误:Bash中变量赋值时,=两侧不能有空格。你写的region = "eu-west-2"会被Shell识别为执行region命令,参数是=和"eu-west-2",所以触发“region: command not found”。
  • 默认分支无输出语句:*) Invalid Choice ;;里的Invalid Choice没有输出指令,会被当作命令执行,同样会报错。

修正后的完整代码:

echo 'u = UKI'
echo 'e = EU'
echo 'a = NA'

read choices
case "$choices" in
    u) region="eu-west-2" ;; 
    e) region="eu-central-2" ;; 
    a) region="us-east-3" ;; 
    *) echo "Invalid Choice" ;; 
esac

echo $region

额外说明:

  • read choices后面的分号可以省略,不影响执行。
  • case语句里的缩进是为了提升可读性,Bash不强制要求,但建议保持格式一致。

内容的提问来源于stack exchange,提问作者yardyy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 16:55:24