输出最后一个命令是否成功 git checkout

输出最后一个命令是否成功 git checkout

如果发生成功的 git checkout,我试图回显控制台,但无法使其工作。

function prompt_command {
   prev=`fc -ln -1`
   ecode=$?

   if [ ecode = 0 ]
   then
      if [ `echo $prev | grep -c "^git co -b"` -ge 0 ] || [ echo $prev | `grep -c "^git checkout -b"` -ge 0 ]
      then
        echo "SUCCESSFULLY CHECKED OUT!"
      fi
   fi
}

export PROMPT_COMMAND=prompt_command

语境: 最终目标是更新新 git 分支的描述以指示它是从哪个分支检出的。例如,如果我从“dev”中签出“my_new_feature”,我想自动运行: git config branch.my_new_feature.description "[FROM:dev]"

然后修改提示以包含家长分支。

答案1

[ ecode = 0 ]应该[[ "$ecode" -eq 0 ]]

  • 双括号
  • 使用更多报价™
  • 在变量前面使用美元符号来扩展它们([[这是一种特殊情况,在这种情况下您并不严格需要美元符号或引号)
  • 用于-eq整数比较

相关内容