将变量从php传递给shell脚本

时间:2014-04-29 17:21:35

标签: php bash shell

我有一个PHP脚本:

#!/usr/bin/php -q
<?php
    $IFO=750;
    $MDO=650;
?>

现在我想取变量$ IFO和$ MDO并将它们传递给shell脚本,这样如果在shell脚本中我要声明:

echo $IFO
echo $MDO

我会得到一个输出

750 650

基于它在php脚本中所说的内容。

我应该在php脚本或shell脚本中添加什么才能起作用?

1 个答案:

答案 0 :(得分:0)

如果您在PHP环境中调用shell脚本作为子进程,则可以使用putenv来设置这些值:

putenv("IFO=$IFO");
putenv("MDO=$MDO");

// later, back at the farm
shell_exec('your_script');

如果你正在处理一个你无法修改已经引用这些名称的shell脚本,那么这是最好的。如果shell脚本没有从PHP继承环境,它将无法工作。如果PHP负责生成shell进程,它应该继承环境。

如果没有PHP,则需要一个真正的共享接口,例如IPC,文件或消息队列。