新手问题 请问如何使用 ruby 代码来执行.sh 文件

return · 2017年09月29日 · 最后由 stargwq 回复于 2017年09月30日 · 3429 次阅读

我在目录的 files 文件下面写了个 test.sh 文件,现在我想在控制器中来执行这个 test.sh 文件(files/test.sh),请问该怎么写?谢谢!

mizuhashi 回复

Open3 貌似只能对 cmd 命令吧,对这种附带路径的好像不支持吧,谢谢~

return 回复

原来如此

return 回复

你的 test.sh 也是 cmd,和是不是附带路径无关。系统命令只是在 $PATH 中而已,是为了方便,你也可以用其绝对路径调用。众生平等。 你需要做的是对脚本用户和脚本权限的正确设置。

gingerhot 回复

我主要是不知道怎么写😂

command = "sh files/test.sh"
Open3.popen3(command)
#  下面的也不行
Open3.popen3(files/test.sh)

该怎样写呢?谢谢关注~

好像有个 system 方法吧,试试看。

system("sh files/test.sh")

stdout, status = Open3.capture2('/bin/sh', 'files/test.sh')

9 楼 已删除
def remove_file(project, repo)
   `cd /var/www/tmp_code && rm -rf #{repo}*`
   ...
end
需要 登录 后方可回复, 如果你还没有账号请 注册新账号