在zsh中,如何对程序的退出状态进行条件限制?

ano*_*non 15 git zsh status exit

我想做一些像:

if [[ git status &> /dev/null ]]; then
   echo "is a git repo";
else
   echo "is not a git repo";
fi
Run Code Online (Sandbox Code Playgroud)

除了我不知道如何检查退出状态.我该如何解决?

谢谢

gre*_*eth 19

就是这样

if git status &> /dev/null
then
   echo "is a git repo";
else
   echo "is not a git repo";
fi
Run Code Online (Sandbox Code Playgroud)

或者以更紧凑的形式:

git status &> /dev/null && echo "is a git repo" || echo "is not a git repo"
Run Code Online (Sandbox Code Playgroud)


ori*_*rip 13

使用时$?,它包含最后一个命令返回码

编辑:精确的例子:

git status &> /dev/null
if [ $? -eq 0 ]; then
  echo "git status exited successfully"
else
  echo "git status exited with error code"
fi
Run Code Online (Sandbox Code Playgroud)