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

Mac终端中select菜单无法响应输入且无法退出的问题排查

问题分析与解决

你的脚本存在两个关键问题,导致菜单无法响应输入:

1. case语句未正确引用变量

原代码中case opt in没有使用$引用变量opt,导致case无法匹配输入的选项——即使select正常工作,也不会执行对应分支或退出循环。

2. 使用POSIX sh运行脚本

Mac上的sh是遵循POSIX标准的shell,不支持select这个bash/zsh扩展命令,用sh运行时select无法正常处理输入交互。


修复后的脚本

#!/bin/bash
options=( "olá" "adeus" )
echo "escolha uma opção"
select opt in "${options[@]}"
do
    case $opt in 
        "olá")
            echo "Olá de volta!"
            break
        ;;
        "adeus")
            echo "Mal criado chunga!"
            break
        ;;
        *)
            echo "Opção inválida, escolha 1 ou 2"
            ;;
    esac
done

运行方式

  1. 给脚本添加执行权限:
chmod +x teste2.sh
  1. 直接运行脚本(会使用shebang指定的bash执行):
./teste2.sh

或者不修改shebang,直接用bash运行:

bash teste2.sh

你也可以把脚本开头的shebang改成#!/bin/zsh,用Mac默认的zsh运行,效果一致。

内容的提问来源于stack exchange,提问作者Luís Cunha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 16:01:09