haoranc 2021-09-15 19:00 采纳率: 0%
浏览 76
已结题

变量为空时,shell脚本退出运行。

shell脚本里 :

echo $tagName
findTagNameInt=`git tag -l|grep "$tagName"`
echo "123"
echo "$findTagNameInt"
if [ -n ${findTagNameInt} ];then
    echo " tag ${tagName} already exists"
else 
    git tag ${tagName}
    git push origin ${tagName}
    echo "new enterprise tag ${tagName}"
fi

实际系统运行中,变量tagName是可输入的,效果如下:
tagName=ver-2.2.0.1时,返回变量findTagNameInt为ver-2.2.0.1。

root@u216 /home/ubuntu/workroom/jenkins/TDinternal (release/ver-2.2.0.1)$ tagName=ver-2.2.0.1 
root@u216 /home/ubuntu/workroom/jenkins/TDinternal (release/ver-2.2.0.1)$ findTagNameInt=`git tag -l|grep "${tagName}"`
root@u216 /home/ubuntu/workroom/jenkins/TDinternal (release/ver-2.2.0.1)$ echo ${findTagNameInt}
ver-2.2.0.1

tagName=ver-2.2.0.2时,返回变量findTagNameInt为空。

root@u216 /home/ubuntu/workroom/jenkins/TDinternal (release/ver-2.2.0.1)$ tagName=ver-2.2.0.2
root@u216 /home/ubuntu/workroom/jenkins/TDinternal (release/ver-2.2.0.1)$ findTagNameInt=`git tag -l|grep "${tagName}"`
root@u216 /home/ubuntu/workroom/jenkins/TDinternal (release/ver-2.2.0.1)$ echo ${findTagNameInt}

root@u216 /home/ubuntu/workroom/jenkins/TDinternal (release/ver-2.2.0.1)$ 

放在脚本里。发现这个变量为空的时候脚本就不朝下运行了。
tagName=ver-2.2.0.1:

ver-2.2.0.1
123
ver-2.2.0.1
tag ver-2.2.0.1 already exists

tagName=ver-2.2.0.2:打印第一个tagName时就停了。。

ver-2.2.0.2
  • 写回答

3条回答 默认 最新

  • haoranc 2021-09-15 19:39
    关注

    自己找到问题了。跟领导调试了一圈发现脚本开始的时候有set -e。
    set -e:这句之后遇到非零返回值,会直接退出

    评论

报告相同问题?

问题事件

  • 系统已结题 9月23日
  • 创建了问题 9月15日

悬赏问题

  • ¥15 有偿求码,CNN+LSTM实现单通道脑电信号EEG的睡眠分期评估
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路