Ruby 自定义脚本中的git push命令-如何安静地执行?
在Ruby脚本中,我有一组git命令。我想阻止Ruby 自定义脚本中的git push命令-如何安静地执行?,ruby,git,bash,Ruby,Git,Bash,在Ruby脚本中,我有一组git命令。我想阻止git push的输出显示在控制台中(没有输出或写入amp文件) 当我在脚本中使用步骤时,此输出将插入到当前步骤报告流中。。。搞砸了。我应该如何抑制该输出 更新 我正在运行一个命令集,我只想检测整个命令集的成功或失败 %x[ cd "#{@project_path}" git init 2> /dev/null cp "#{@dockerfile_template}" "#{@project_path}" git add --all 2>
git push
的输出显示在控制台中(没有输出或写入amp文件)
当我在脚本中使用步骤时,此输出将插入到当前步骤报告流中。。。搞砸了。我应该如何抑制该输出
更新
我正在运行一个命令集,我只想检测整个命令集的成功或失败
%x[
cd "#{@project_path}"
git init 2> /dev/null
cp "#{@dockerfile_template}" "#{@project_path}"
git add --all 2> /dev/null
git commit -m "first commit" 2> /dev/null
git remote add origin "#{@project_repository}" 2> /dev/null
git push -u origin master 2> /dev/null
]
if $?.success?
尝试重定向到/dev/null。即,使用以下命令:
git push origin master > /dev/null
或者可能(如果将输出获取到stderr):
尝试重定向到/dev/null。即,使用以下命令:
git push origin master > /dev/null
或者可能(如果将输出获取到stderr):
您还可以将stdout和stderr组合到/dev/null
git push origin master > /dev/null 2>&1
但请注意,如果出现错误,您将无法看到它。您还可以将stdout和stderr组合到/dev/null
git push origin master > /dev/null 2>&1
但是请注意,如果出现错误,您将无法看到它。也许您希望脚本仅在成功的情况下安静地运行git push?那你可以试试这个
Dir.chdir "/path/to/repo" do
output=`git push origin master 2>&1`
ret=$?.exitstatus
if (ret != 0) then
puts output
end
end
也许您希望脚本只在成功的情况下安静地运行git push?那你可以试试这个
Dir.chdir "/path/to/repo" do
output=`git push origin master 2>&1`
ret=$?.exitstatus
if (ret != 0) then
puts output
end
end
谢谢你的建议。。。我对命令集中任何错误的细节不感兴趣,只是想知道运行该集时是否有任何错误,(参见更新的问题..它会得到吗?我从来没有用ruby编程过,但是
$?
会保存上一个命令的结果,然后测试它。如果它不等于零,则意味着发生了某种错误…希望这有助于感谢我现在所做的…稍后将测试所有类型的错误感谢你的建议…我不是。)I don’我对命令集中任何错误的详细信息不感兴趣,只是想知道运行该命令集中是否有任何错误,(参见更新的问题..它会得到它吗?我从来没有用ruby编程过,但是$?
将保存上一个命令的结果,然后测试它。如果它不等于零,则意味着发生了某种错误…希望这有助于感谢我现在所做的…稍后将测试所有类型的错误。)