【发布时间】:2023-04-07 08:13:01
【问题描述】:
我正在尝试让 Rails 控制器从存储桶上的存储库中提取最新内容。在大多数情况下,这是成功的,我在测试时遇到的唯一问题我似乎只能让页面输出脚本返回的第一行,并且似乎没有运行脚本的其余部分任何想法
这是我的 bash 脚本
#!/bin/bash -l
GIT_REPO='IMAREPO'
TMP_GIT_CLONE=TEMPPATH
PUBLIC_WWW=SITEPATH
if [ -d $TMP_GIT_CLONE ]; then
rm -Rf $TMP_GIT_CLONE
fi
git clone $GIT_REPO $TMP_GIT_CLONE
jekyll build --source $TMP_GIT_CLONE --destination $PUBLIC_WWW
rm -Rf $TMP_GIT_CLONE
exit
在我正在做的 Rails 控制器中
@result = %x[/var/srv/pulldevelopment.sh]
这又只从脚本中输出一行
正在克隆到 '/root/tmp/git/blah'...
【问题讨论】:
-
该脚本中是否有任何输出到 stderr 而不是 stdout 的内容?也许你需要类似
%x[script.sh 2>&1] -
感谢您帮助实际找到问题(但尚未解决)似乎 jekyll 试图在 Rails 下运行导致一些 gem 问题和“US-ASCII 错误中的无效字节序列”在我的降价文件..有没有办法不在我的 Rails 应用程序下运行 jekyll?
标签: ruby-on-rails git bash shell