Linux Shell脚本语句执行失败,后续语句继续执行的问题
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脚本语句执行失败,后续语句继续执行的问题相关推荐
- linux ls命令shell脚本位置,linux - shell脚本到ls并在ls上执行命令结果 - SO中文参考 - www.soinside.com...
我在ubuntu的文件夹中有一个文件夹列表.即.在/ mnt / source / customcode / files / brands /下 root@a919794ec280:/mnt/sour ...
- linux脚本简介,Linux Shell脚本简介
Shell 诞生于 Unix,是与 Unix/Linux 交互的工具,单独地学习 Shell 是没有意义的,请先参考Unix/Linux入门教程,了解 Unix/Lunix 基础. 近几年来,Shel ...
- linux怎么判断网络是否正常运行,Linux shell脚本判断服务器网络是否可以上网
微信公众号:「小林coding」 用简洁的方式,分享编程小知识. Linux shell脚本判断网络畅通 介绍 在编写shell脚本时,有的功能需要确保服务器网络是可以上网才可以往下执行,那么此时就需 ...
- linux shell脚本执行sql语句建表建库
linux shell脚本执行sql语句建表建库 1. 创建sql脚本 2. 创建shll脚本 1. 创建sql脚本 创建contract_ddl.sql -- 创建数据库contract_user ...
- Linux Shell脚本入门教程系列之(十三)Shell分支语句case … esac教程
本文是Linux Shell脚本系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 上一篇之 后,分支语句非常实用,基本上高级语言都支持分支语句(pytho ...
- Linux Shell脚本多循环语句练习题
Linux Shell脚本多循环语句练习题 99乘法表 矩形 正直角三角形 反直角三角形 倒直角三角形 等腰三角形 倒等腰三角形 菱形 平行四边形 直角梯形 等腰梯形 99乘法表 #!/bin/bas ...
- linux sh脚本 while,Linux shell脚本使用while循环执行ssh的注意事项
原标题:Linux shell脚本使用while循环执行ssh的注意事项 如果要使用ssh批量登录到其它系统上操作时,我们会采用循环的方式去处理,那么这里存在一个巨大坑,你必须要小心了. 一.场景还原 ...
- Jenkins执行shell脚本启动tomcat失败解决方法
Jenkins执行shell脚本启动tomcat失败解决方法 参考文章: (1)Jenkins执行shell脚本启动tomcat失败解决方法 (2)https://www.cnblogs.com/wa ...
- linux shell脚本的执行方式与区别
linux shell脚本的执行方式与区别
最新文章
- 【HDU】1005 Number Sequence (有点可爱)
- 区块链浏览器_区块链FBI——如何用区块链浏览器追踪链上数据
- mysql search yum_mysql安装-yum方式
- opencv_python关于Qt的错误
- sql的外键约束和主键约束_SQL约束
- 2019年终总结-2020展望「持续更新至31号」
- 阿里千万实例可观测采集器-iLogtail正式开源
- 1203. 项目管理
- java slider如何设置成可变的_Java自定义JSlider UI
- Nginx解决前端调用后端接口跨域问题
- 基于TI AM335x创龙开发板的快速体验
- [转载] python怎么获取redis中的数据_python操作redis数据库
- Kettle组件Spoon的使用
- 调度流程图_怎么做大数据工作流调度系统?大厂架构师一语点破!
- 乐迪机器人正确操作_乐迪智能早教机器人好用吗 乐迪智能早教机器人使用测评...
- php 事件流转,php46公文流转
- win8 配置要求
- Android开发之智能聊天机器人
- 7天带你搞定一个图表框架echarts(六)
- 字节跳动疯狂招人,为何会有如此操作?