【发布时间】:2012-03-29 21:37:14
【问题描述】:
我有一个调用 shell 脚本的 ruby cgi 脚本。
shell 脚本执行 git pull。
当我从命令提示符运行 shell 脚本时,它可以工作。
但是当我从 ruby cgi 脚本运行它时,它会执行脚本,但不会发生 git pull。
我猜这可能与权限有关,但我不知道如何解决它。
ruby 脚本是:
#!/usr/local/rvm/rubies/ruby-1.9.3-p125/bin/ruby
require "cgi"
git_pull = `sh /github/do_git_pull.sh`
move_apanels = `sh /github/move_apanels.sh`
puts "Content-type: text/html\n\n"
puts "<html><body>We've done the following:<ul>"
puts "<li>#{git_pull.to_s}</li>"
puts "<li>#{move_apanels.to_s}</li>"
puts "</ul></body></html>"
而shell脚本是:
#!/bin/bash
sudo sh -c cd /github
sudo sh -c git pull origin master
echo "Git Pull Completed"
两个文件都有 chmod 777
有什么想法吗?
【问题讨论】: