Linux Shell脚本语句执行失败,后续语句继续执行的问题

  • 问题
  • 解决方法

问题

写了一个自动部署java后端的脚本,大致如下:

A=password
read -p "请输入密码:" PASSWD
if [ "$PASSWD" == "$A" ]
thenecho "密码正确!"cd /auto_deployment/javaBackendPath/backendServicegit clean -f -dgit reset --hard HEADgit pullmvn clean install -Dmaven.test.skip=true -Pprodif [ $? -eq 0 ]thenecho "Succeed in building new commits."# 执行部署代码fi
elseecho "密码错误,请重启输入!"
fi

由于shell脚本和python这些语言执行时,不太一样。遇到错误和未成功执行的语句后并不会报错退出,而是会报错,然后继续执行后续的语句。
上段代码因为需要进入的“/auto_deployment/javaBackendPath/backendService”路径没有找到,就没有执行,而是再当前的目录下执行了之后git相关的语句,好巧不巧当前目录再半年前是设置过git但一直没有更新维护过的,整个文件夹就恢复到了半年前的样子,后面写的文件全部消失。最后是从当天的备份中还原回来的,花了4个小时。

解决方法

set -o errexit #增加这句话,出错之后就会退出啦
set -e #这句话和上一句是一样的,写一个就好了
A=password
read -p "请输入密码:" PASSWD
if [ "$PASSWD" == "$A" ]
thenecho "密码正确!"cd /auto_deployment/javaBackendPath/backendServicegit clean -f -dgit reset --hard HEADgit pullmvn clean install -Dmaven.test.skip=true -Pprodif [ $? -eq 0 ]thenecho "Succeed in building new commits."# 执行部署代码fi
elseecho "密码错误,请重启输入!"
fi

Linux Shell脚本语句执行失败,后续语句继续执行的问题相关推荐

  1. linux ls命令shell脚本位置,linux - shell脚本到ls并在ls上执行命令结果 - SO中文参考 - www.soinside.com...

    我在ubuntu的文件夹中有一个文件夹列表.即.在/ mnt / source / customcode / files / brands /下 root@a919794ec280:/mnt/sour ...

  2. linux脚本简介,Linux Shell脚本简介

    Shell 诞生于 Unix,是与 Unix/Linux 交互的工具,单独地学习 Shell 是没有意义的,请先参考Unix/Linux入门教程,了解 Unix/Lunix 基础. 近几年来,Shel ...

  3. linux怎么判断网络是否正常运行,Linux shell脚本判断服务器网络是否可以上网

    微信公众号:「小林coding」 用简洁的方式,分享编程小知识. Linux shell脚本判断网络畅通 介绍 在编写shell脚本时,有的功能需要确保服务器网络是可以上网才可以往下执行,那么此时就需 ...

  4. linux shell脚本执行sql语句建表建库

    linux shell脚本执行sql语句建表建库 1. 创建sql脚本 2. 创建shll脚本 1. 创建sql脚本 创建contract_ddl.sql -- 创建数据库contract_user ...

  5. Linux Shell脚本入门教程系列之(十三)Shell分支语句case … esac教程

    本文是Linux Shell脚本系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 上一篇之 后,分支语句非常实用,基本上高级语言都支持分支语句(pytho ...

  6. Linux Shell脚本多循环语句练习题

    Linux Shell脚本多循环语句练习题 99乘法表 矩形 正直角三角形 反直角三角形 倒直角三角形 等腰三角形 倒等腰三角形 菱形 平行四边形 直角梯形 等腰梯形 99乘法表 #!/bin/bas ...

  7. linux sh脚本 while,Linux shell脚本使用while循环执行ssh的注意事项

    原标题:Linux shell脚本使用while循环执行ssh的注意事项 如果要使用ssh批量登录到其它系统上操作时,我们会采用循环的方式去处理,那么这里存在一个巨大坑,你必须要小心了. 一.场景还原 ...

  8. Jenkins执行shell脚本启动tomcat失败解决方法

    Jenkins执行shell脚本启动tomcat失败解决方法 参考文章: (1)Jenkins执行shell脚本启动tomcat失败解决方法 (2)https://www.cnblogs.com/wa ...

  9. linux shell脚本的执行方式与区别

    linux shell脚本的执行方式与区别

最新文章

  1. 【HDU】1005 Number Sequence (有点可爱)
  2. 区块链浏览器_区块链FBI——如何用区块链浏览器追踪链上数据
  3. mysql search yum_mysql安装-yum方式
  4. opencv_python关于Qt的错误
  5. sql的外键约束和主键约束_SQL约束
  6. 2019年终总结-2020展望「持续更新至31号」
  7. 阿里千万实例可观测采集器-iLogtail正式开源
  8. 1203. 项目管理
  9. java slider如何设置成可变的_Java自定义JSlider UI
  10. Nginx解决前端调用后端接口跨域问题
  11. 基于TI AM335x创龙开发板的快速体验
  12. [转载] python怎么获取redis中的数据_python操作redis数据库
  13. Kettle组件Spoon的使用
  14. 调度流程图_怎么做大数据工作流调度系统?大厂架构师一语点破!
  15. 乐迪机器人正确操作_乐迪智能早教机器人好用吗 乐迪智能早教机器人使用测评...
  16. php 事件流转,php46公文流转
  17. win8 配置要求
  18. Android开发之智能聊天机器人
  19. 7天带你搞定一个图表框架echarts(六)
  20. 字节跳动疯狂招人,为何会有如此操作?

热门文章

  1. “音乐床”网页引用本地歌曲最佳途径
  2. java网页设计_java设计的登录页面
  3. cdm 图片 转_从CDP到CDM的转变
  4. 短视频剪辑自学需要掌握的小技巧,初学者可收藏
  5. Volar - vue终极开发神器!
  6. 软考系统分析师倒计时第0天
  7. 计算机低级格式化,低级格式化,教您硬盘怎么低级格式化
  8. 几个离散混沌映射系统(混沌函数)
  9. linux文件操作学习3
  10. 黑苹果 服务器系统安装教程,黑苹果安装教程,详细教您黑苹果怎么安装