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

Bash中无法将多条命令赋值给单个变量执行的问题求助

变量执行多命令失败的原因与解决办法

问题原因

当你用"$cmd"执行变量内容时,bash会把整个字符串当作单个完整的命令名来解析,不会识别其中的分号;作为命令分隔符。所以输入id ; date后,它会去查找名为id ; date的命令,自然找不到,就会报错。

解决办法

用eval命令重新解析变量内容,让bash识别其中的元字符(比如分号、管道符等):

read -ep "command: " cmd ; eval "$cmd"

输入id ; date后,eval会把变量内容拆成两条独立命令依次执行,就能得到预期结果。

⚠️ 注意:这种方式存在安全风险,如果允许不可信用户输入命令,可能会执行破坏性操作,使用时要谨慎。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 05:45:33