可能的重复项:
使用 shell 将参数传递给 PHP
我在 shell 脚本中运行一个 php 脚本,作为
#! /bin/sh
php file.php
Shell 将运行脚本并显示 php 脚本的输出,但是如何将 php 脚本中定义的变量传递到 shell 脚本中以在其中使用(以便 shell 进一步处理)?
例如,考虑一个 php 文件
<?php
$test = "something";
?>
如何将 $test
的值传递给 shell 脚本
#! /bin/sh
php config.php
echo $test
更新:建议的方法基于对变量print
。我不喜欢打印任何东西,因为 php 脚本也有其他应用程序(在其他 php 脚本中include
)。
你的 PHP 脚本可以打印 shell 样式的变量赋值:
print("VAR1=foo'n");
print("VAR2=bar'n");
在 shell 脚本中,您需要评估这些赋值,以便将它们导入您的环境:
. <(php file.php)
PHP 脚本
可以打印值,shell 脚本可以使用进程或命令替换或read
来检索值。
.PHP:
<?php
print($test1 . "'n");
print($test2 . "'n");
?>
砰:
while read -r line
do
something_with "$line"
done < <(php_script)
或
saveIFS=$IFS
IFS=$''n'
array=($(php_script))
IFS=$saveIFS
或
saveIFS=$IFS
IFS=$''n'
read -r -d '' var1 var2 <<< "$(php_script)"
IFS=$saveIFS
或其他变体。