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

如何使用PHP脚本的返回值在Bash中设置变量

实现方法

首先需要在Bash中提前声明options为关联数组,否则Bash会默认将其识别为索引数组,无法正确解析字符串类型的键名:

declare -A options

之后通过进程替换结合source命令,直接执行PHP脚本输出的赋值语句即可完成变量设置:

source <(php my_script.php)

赋值完成后可以直接读取数组验证效果:

# 输出结果为 one two three
echo ${options[abc]}
# 输出结果为 bar
echo ${options[foo]}
注意事项
  • 该方案仅可在你完全信任PHP脚本输出内容的场景下使用:source会直接执行所有输入的内容,若PHP输出被植入恶意Bash代码,会直接在当前环境执行造成安全风险。
  • PHP生成赋值语句时,需要确保值内的单引号已经正确转义,转义规则为将单个单引号替换为'\'',避免Bash解析时报错。
  • 如果你使用的Bash版本不支持进程替换,也可以用eval实现,但安全风险更高,同样仅可在完全信任输出的场景下使用:
    eval "$(php my_script.php)"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:18:04