0

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

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

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

4

1 回答 1

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

所以我写了shellscript,然后是一个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
于 2013-04-18T13:31:47.550 回答