我有一个deploy.sh
包含以下内容的 shell 脚本:-
echo "0 Importing the code"
eval "git pull -u origin master"
echo "1 Backing up existing data in database.."
// -- other code follows here
当我直接使用终端执行脚本时,我得到以下输出:-
0 导入代码
远程:计数对象:5,完成。 远程:压缩对象:100% (2/2),完成。 远程:总计 3(增量 1),重用 0(增量 0) 拆包对象:100% (3/3),完成。 来自 bitbucket.org:user/repo * 分支主 -> FETCH_HEAD 更新 db13xxx..6705xxx
1 备份数据库中的现有数据..
这是对的。但是,我编写了一个 PHP 脚本,我可以使用它通过 http 调用 deploy.sh 脚本。这个php页面的内容如下:-
$output = `./deploy.sh`;
echo '<pre>', $output, '</pre>';
当我通过浏览器调用这个 php 文件时,shell 脚本实际上被调用了,我得到了以下输出:-
0 导入代码 1 备份数据库中的现有数据..
问题是该eval "git pull -u origin master"
命令没有被执行并且它的输出没有显示出来。知道问题是什么吗?