执行Kafka消费者命令时脚本被记事本打开而非输出消息求助
解决Kafka消费者命令打开记事本而非执行的问题
问题根源
在Windows系统中,.sh后缀文件默认关联了记事本程序。直接在命令提示符(CMD)或PowerShell中运行该脚本时,系统会触发默认关联行为,用记事本打开文件而非执行脚本逻辑。
可行解决方案
1. 使用Git Bash或WSL执行脚本
- 安装Git Bash(随Git for Windows附带)或Windows Subsystem for Linux(WSL)
- 打开Git Bash/WSL终端,切换至Kafka安装目录后运行原命令:
bin/kafka-console-consumer.sh --topic kafka-demo --from-beginning --bootstrap-server localhost:9092
2. 在PowerShell中直接调用bash解释器
若已安装Git Bash,可在PowerShell中指定bash来执行脚本:
bash bin/kafka-console-consumer.sh --topic kafka-demo --from-beginning --bootstrap-server localhost:9092
3. 调整Windows文件关联(谨慎操作)
- 右键任意
.sh文件,选择打开方式 > 选择其他应用 - 勾选始终使用此应用打开.sh文件,选择Git Bash或WSL终端作为默认程序
- 后续在CMD/PowerShell中运行
.sh脚本时,会自动用选定终端执行
内容的提问来源于stack exchange,提问作者Mandy Sharma
相关产品推荐
相关产品推荐

