0

在我的 Jenkins 测试(只是 shell)中,我想检查命令的存在状态(在这种情况下,它是 git 远程的存在):

git ls-remote some_remote
status=$?
if [ $status -ne 0 ]; then
  git remote add some_remote some@gitrepo.git
fi

但是,如果远程不存在,则第一个命令返回非零退出状态,并且测试失败而无需进一步。

有办法解决吗?

4

2 回答 2

1

其他方式:

git ls-remote some_remote || status=$?
if [ $status -ne 0 ]; then
  git remote add some_remote some@gitrepo.git
fi

这样,第一行将始终返回 true,并且您仍然可以捕获 ls-remote 的状态。

于 2013-07-31T12:54:56.303 回答
0

用于远程的 grep 配置文件,并根据 grep 的零或非零状态采取必要的措施

于 2013-07-30T04:43:54.057 回答