加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

从bash执行php脚本,将输出分配给bash变量

发布时间:2020-12-16 01:15:06 所属栏目:安全 来源:网络整理
导读:我有一个bash脚本需要执行一些 PHP脚本并取回结果,例如 #!/bin/bash/usr/bin/php -f $HOME/lib/get_fifobuild.php 脚本get_fifobuild.php返回一个我需要分配给bash变量的整数.如果有人帮助我,我会很感激. 谢谢 :) 编辑: php show.php ?php echo phpinfo();
我有一个bash脚本需要执行一些 PHP脚本并取回结果,例如
#!/bin/bash
/usr/bin/php -f $HOME/lib/get_fifobuild.php

脚本get_fifobuild.php返回一个我需要分配给bash变量的整数.如果有人帮助我,我会很感激.

谢谢 :)

编辑:
php show.php

<?php 
  echo phpinfo();
  exit;
?>

bash脚本:

#!/bin/bash
HOME=`dirname $0`;
log(){
    NEW_LOG=$HOME/logs/cloud-`date +%d_%m_%Y`.log
    echo $1 >> $NEW_LOG
}
log "Date: `date`";
data=$(/usr/bin/php -f  $HOME/lib/show.php);
log $data;

输出:

Date: Fri Jun 15 19:16:00 PKT 2012
phpinfo()

没有运气了

myvariable=$(/usr/bin/php -f $HOME/lib/get_fifobuild.php)

将PHP脚本的输出分配给名为“myvariable”的变量.

更新:

这会将命令的输出分配给变量,但是由于您仍然遇到问题,我可以建议一些事情:

>你在其他地方有’get_builds.php’和’get_fifobuild.php’.
>检查$HOME是否正确设置.在这里使用不同的变量名称可能会更好,因为环境变量通常设置为您的主目录.但是,当您从脚本获取输出时,这不太可能是问题.
>您提供的文件是PHP文件的确切内容吗?如果你有报价
例如,在phpinfo()周围,它会使输出只是字符串“phpinfo()”.实际上,您根本不需要echo,并且可以使PHP文件的内容如下所示.

get_fifobuild.php:

<?php
    phpinfo();
?>

更新2:

尝试将脚本更改为:

#!/bin/bash
HOME=`dirname $0`;
log(){
    NEW_LOG=$HOME/logs/cloud-`date +%d_%m_%Y`.log
    echo "$1" >> $NEW_LOG
}
log "Date: `date`";
data=$(/usr/bin/php -f $HOME/lib/show.php);
log "$data";

基本上在’log’和’echo’行中的变量周围添加双引号.您遇到的问题是只记录了PHP输出的第一行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读