在传递 Linux bash-script 变量以执行 PHP CLI 命令时,我需要帮助。我正在研究执行 PHP CLI 命令的 bash 脚本,该命令从 bash 脚本(如文件夹路径)获取输入变量,以包含用于访问 PHP 文件类的文件。但是在执行 bash 脚本时发生的事情是传递给 PHP CLI 命令的变量充当 PHP 的变量。下面是我的脚本的示例代码file="$folderpath"somefile.phpmage_version=$(php -r 'include "$file";print_r(Mage::getVersionInfo());')下面是我得到的错误PHP Notice: Undefined variable: file in Command line code on line 1PHP Warning: include(): Filename cannot be empty in Command line code on line 1
1 回答
鸿蒙传说
TA贡献1865条经验 获得超7个赞
Bash 需要双 ( ") 引号来解析变量,否则它们将保留$var,因此 php 会读取它们;
file="$folderpath"somefile.php
mage_version=$(php -r "include \"${file}\";print_r(Mage::getVersionInfo());")
如果您需要多行解决方案,您可以执行以下操作:在 Bash 中运行 PHP 函数(并将返回值保存在 bash 变量中)
php_cwd=`/usr/bin/php << 'EOF'
<?php echo getcwd(); ?>
EOF`
echo "$php_cwd" # Or do something else with it
- 1 回答
- 0 关注
- 161 浏览
添加回答
举报
0/150
提交
取消