当前位置: 首页 > news >正文

写shell脚本的一种开头方式,给你的脚本加个保险

  • shell脚本这种解释性语言的程序通常在执行的时候会跳过报错的语句继续往下执行
  • 我们使用set -e确保在脚本发生错误的第一时间就停下,以免发生后边不可挽回的结果
  • 所以在一个shell脚本的开头,尤其是测试阶段,我们通常可以加上以下字段
set -e
[ -n "$SUNTEST_DEBUG" ] && set -x
  • 脚本只要发生错误,就终止执行。set -e根据返回值来判断一个命令是否运行失败。

  • 写脚本的时候要注意,如果需用用到返回值来进行其他判断,则使用set -e来推出程序并不是一个好主意。

  • 使用set -x 可以定位到哪个地方出问题了,-n STRING 字符串是否不空,不空为真,空为假

相关文章:

  • 离线安装pyenv的shell脚本
  • Python语言的特点
  • Python中标识符的命名规则
  • Python 仅有33个系统关键字
  • [TroubleShooting]CentOS8使用pyenv部署多版本python时报 python: command not found
  • Linux设置pip国内源
  • CentOS8部署多版本共存Python开发环境
  • Win10部署python多版本开发环境
  • Linux常用Shell脚本测试命令
  • Linux常用Shell函数参数
  • Linux脚本shell编程通过数组实现石头剪刀布小游戏
  • CentOS8快速安装Docker
  • CentOS8快速部署轻量级自动化运维平台Spug
  • DveOps常见项目代码部署发布方式
  • 云原生时代一站式DevOps平台--阿里云效
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • bearychat的java client
  • JavaScript设计模式之工厂模式
  • Map集合、散列表、红黑树介绍
  • mysql中InnoDB引擎中页的概念
  • Sass 快速入门教程
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 使用API自动生成工具优化前端工作流
  • 使用SAX解析XML
  • 我的zsh配置, 2019最新方案
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • ​什么是bug?bug的源头在哪里?
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • (2)(2.10) LTM telemetry
  • (办公)springboot配置aop处理请求.
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (新)网络工程师考点串讲与真题详解
  • (一)80c52学习之旅-起始篇
  • (转)Sublime Text3配置Lua运行环境
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET 材料检测系统崩溃分析
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .NET建议使用的大小写命名原则
  • .Net面试题4
  • .NET文档生成工具ADB使用图文教程
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [2018][note]用于超快偏振开关和动态光束分裂的all-optical有源THz超表——
  • [30期] 我的学习方法
  • [AutoSAR 存储] 汽车智能座舱的存储需求
  • [BUG] Authentication Error
  • [c++] 自写 MyString 类
  • [C++数据结构](22)哈希表与unordered_set,unordered_map实现
  • [DevEpxress]GridControl 显示Gif动画
  • [Electron]ipcMain.on和ipcMain.handle的区别
  • [IE编程] IE中使网页元素进入编辑模式
  • [iOS]-UIKit
  • [iOS开发]事件处理与响应者链
  • [linux] C语言Linux系统编程进程基本概念