php - 获取shell脚本中定义的变量值

时间:2013-04-18 09:13:47

标签: php shell exec

如何获取shell脚本中定义的变量的值? (脚本是配置文件,只包含变量定义)我不能在exec中使用“source”命令:

echo exec('var=2; echo $var'); //writes "2"
echo exec('source config.sh; echo $var'); //writes ""

如何获取shell脚本中定义的变量值?

1 个答案:

答案 0 :(得分:2)

userThis刚刚在终端上为我工作:

echo var=2 > shellscript
echo "<?php echo exec('source /home/user/shellscript; echo $var'); ?>" > phpscript.php
ls | grep script
phpscript.php
shellscript
php phpscript.php 
2

所以我写了一些shellcript,然后用php来读取shell脚本并运行php脚本。它完成了你想要的。

也许你可以添加其他exec组件来获得线索?

<?php 
echo exec('source /home/user/shellscript; echo $var',$out,$ret); 
echo "\nout0: ". $out[0]. "\nret: $ret\n";
?>

这告诉我:

~]$ php phpscript.php 
2
out0: 2
ret: 0