加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

检查来自shell脚本的git push的响应

发布时间:2020-12-15 22:25:13 所属栏目:安全 来源:网络整理
导读:我试图从bash中检测到我的git推送是否成功.我正在检查以前在我的脚本中的本地更改,如下所示: if [ -z "$(git status --porcelain)" ]; then 这很好.这是我试过的表达,但是这个表达不起作用,实际上是错误: if [ "$(git push --porcelain)" -eq "Done" ]; th
我试图从bash中检测到我的git推送是否成功.我正在检查以前在我的脚本中的本地更改,如下所示:

if [ -z "$(git status --porcelain)" ]; then

这很好.这是我试过的表达,但是这个表达不起作用,实际上是错误:

if [ "$(git push --porcelain)" -eq "Done" ]; then

收益率:

Done: integer expression expected

当我从命令行运行git push –porcelain时,输出为Done.这是否意味着我应该在我的条件下检查该文本?

如果我进行上一次比较,那也不起作用,我得到同样的错误:

1 file changed,309 insertions(+)
Current branch master is up to date.
Counting objects: 3,done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2),done.
Writing objects: 100% (3/3),3.59 KiB | 0 bytes/s,done.
Total 3 (delta 0),reused 0 (delta 0)
bash: [: To https://github.com/blah...
        refs/heads/master:refs/heads/master     88aff43..cf0c97c
Done: integer expression expected

解决方法

你的病情检查应该是这样的: –

#!/bin/bash

if [[ "$(git push --porcelain)" == *"Done"* ]]
then
  echo "git push was successful!"
fi

-eq用于整数比较,==用于字符串比较.以下说明了不同之处.

[[ 00 -eq 0 ]] && echo "zero is zero,regardless of its representation"
[[ 00 = 0 ]] || echo "00 and 0 are two different strings"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读