Sve*_* R. 6 bash git exit-code
对于我的持续集成脚本,我想检查 git 分支是否与 master 分支不同步。因此我使用
git rev-list --left-right --count master...my-branch-name
Run Code Online (Sandbox Code Playgroud)
它会返回…… 喜欢
1 3
Run Code Online (Sandbox Code Playgroud)
(3次提交在master之前,1次在后面)
添加| cut -f1只会给我第一个数字(在主人后面提交)。
现在我想用那个数字退出脚本,因为后面的 0 个提交是成功的,所有其他的都应该给出一个错误。
我怎样才能做到这一点?我试过
exit 'git rev-list --left-right --count master...my-branch-name | cut -f1'
Run Code Online (Sandbox Code Playgroud)
但这会引起
/bin/bash: line 66: exit: git rev-list --left-right --count master...my-branch-name | cut -f1:需要数字参数
是否有最佳实践?
只需更改您的线路:
exit 'git rev-list --left-right --count master...my-branch-name | cut -f1'
Run Code Online (Sandbox Code Playgroud)
到:
exit `git rev-list --left-right --count master...my-branch-name | cut -f1`
Run Code Online (Sandbox Code Playgroud)
`引号之间的任何内容都将被执行并返回到 bash 脚本,因此您可以对它执行任何操作,包括将其分配给变量。