我正在编写一个脚本,使用git fetch --all && git fetch --all --tags
来获取所有遥控器的所有分支和标签。
我想要做的是,忽略/不显示提取输出,但如果提取失败,则执行某些操作(例如将错误消息写入日志文件并将其邮寄)。如果命令失败,我如何忽略正常输出但只将错误写入日志文件?
操作系统:CentOS 6.5
git:2.1.0-rc1
谢谢!
即使成功获取,更新-1
git-fetch
也会写入stderr。所以如果我这样做
git fetch a.j 1>success 2>errlog
,即使成功获取,我也会在错误文件中找到它:
来自xx.xx.xx.xx:user.name/repo
/ lib.base / core的[new branch] - > A.J /对/ lib.base /芯
/ master / lib.base_core的[new branch] - > A.J /对/主/ lib.base_core
/ master / memmgr的[new branch] - > A.J /对/主/ memmgr
答案 0 :(得分:2)
您可以使用Unix stderr
描述符2
将错误捕获到文件中:
git fetch --all && git fetch --all --tags 1>/dev/null 2>error.log
1>/dev/null
是正常的标准输出,而
2>error.log
将错误记录到error.log
文件。