Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在我的 Jenkins 测试(只是 shell)中,我想检查命令的存在状态(在这种情况下,它是 git 远程的存在):
git ls-remote some_remote status=$? if [ $status -ne 0 ]; then git remote add some_remote some@gitrepo.git fi
但是,如果远程不存在,则第一个命令返回非零退出状态,并且测试失败而无需进一步。
有办法解决吗?
其他方式:
git ls-remote some_remote || status=$? if [ $status -ne 0 ]; then git remote add some_remote some@gitrepo.git fi
这样,第一行将始终返回 true,并且您仍然可以捕获 ls-remote 的状态。
用于远程的 grep 配置文件,并根据 grep 的零或非零状态采取必要的措施