我正在编写git发布分支合并到master的脚本然后开发分支并删除当前分支并创建开发分支的新分支。这涉及4个步骤
如何在shell脚本中执行,只显示4个步骤和步骤状态,而不是在控制台中打印整个输出。
我想要的输出是
SUCCESS
答案 0 :(得分:0)
您可以将每个单独命令的stdout和stderr重定向到/ dev / null,或者更好地重定向到日志文件,并且仅将描述回显到您到控制台的步骤,即:
echo Deleting current branch
git branch -d fluffy 2>&1 >$LOG
if (($?==0)) then
echo passed
else
echo failed
fi
我个人会这样做:
echo Deleting current brach
git branch -d fluffy >$LOG
if (($?==0)) then
echo passed
fi
原因是当git命令失败时,我们通常会获得有关stderr的错误信息,在这种情况下,我们希望看到错误消息。
另一种方式(我不建议,但仍符合您的要求)是将整个脚本的输出重定向到日志文件,并将状态消息显式打印到控制台:
echo Deleting current branch >/dev/tty
但是,这意味着此脚本只能以交互方式合理使用,即当您拥有控制台时。