记录 | shell脚本中的set -e和set +e
原创
2023-12-19 10:24:23
244阅读
强制的错误立即退出机制,使得脚本在遇到非零退出状态的命令时能够继续执行下去,除非脚本本身包含了针对特定命令退出状态的检。
原创
2024-04-25 11:24:59
889阅读
工作中经常在shell脚本中看到set的这两个用法,但就像生活中的很多事情,习惯导致忽视,直到出现问题才引起关注。1. set -eset命令的-e参数,linux自带的说明如下:"Exit immediately if a simple command exits with a non-zero
转载
2019-03-04 16:24:00
255阅读
“set-e”是什么?如下脚本:#!/bin/bashset-ecommand1command2...在脚本开头加上set-e,这句语句告诉bash如果任何语句的执行结果不是true则应该退出。“set-e”作用是什么?(1)使用-e帮助你检查错误;(2)防止错误像滚雪球般变大导致一个致命的错误,而这些错误本应该在之前就被处理掉;(3)如果要增加可读性,可以使用set-oerrexit,它的作用与
原创
2019-08-09 19:02:08
5197阅读
#!/bin/bash
set -e
command 1
command 2
...
exit 0----------------------------------------------------------Every script you write should include set -e at the top. This tells bash
原创
2018-01-19 10:44:52
10000+阅读
编写shell脚本没多久,对于其许多命令的具体用法还不太熟悉。最近刚好有需求,就尝试用脚本去实现。其中就有用到set-e选项。在用这个命令之前,也查过其功能,描述比较简单:就是当命令以非零状态退出时,则退出shell。主要作用是,当脚本执行出现意料之外的情况时,立即退出,避免错误被忽略,导致最终结果不正确。这里主要讨论的是set-e选项的作用范围,创建如下测试文件:原文来自:https://blo
转载
2019-07-16 10:13:45
954阅读
点赞
set参数介绍 set指令能设置所使用shell的执行方式,可依照不同的需求来做设置 -a 标示已修改的变量,以供输出至环境变量。 -b 使被中止的后台程序立刻回报执行状态。 -C 转向所产生的文件无法覆盖已存在的文件。 -d Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数
转载
2020-11-04 11:24:00
285阅读
2评论
set参数介绍 set指令能设置所使用shell的执行方式,可依照不同的需求来做设置 -a 标示已修改的变量,以供输出至环境变量。 -b 使被中止的后台程序立刻回报执行状态。 -C 转向所产生的文件无法覆盖已存在的文件。 -d Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数
转载
2019-10-08 15:16:00
3056阅读
2评论
set -e 是一个用于控制脚本行为的命令,它的作用是:
功能
当脚本运行时,set -e 会确保一旦某个命令返回非零的退出状态(即执行失败),整个脚本会立即停止执行。这对于编写需要确保关键步骤成功完成的脚本非常有用,因为它可以防止脚本继续运行而不知某些步骤已失败。
详细解释
在 Bash 脚本中,每个命令执行后都会返回一个退出状态码。通常,返回 0 表示成功,而非零的退出状态码表示失败。
默
原创
2024-10-10 08:45:28
219阅读
刚刚学会了一个很实用的shell命令set -ex,在这里分
转载
2022-12-22 02:41:16
264阅读
刚刚学会了一个很实用的shell命令set -ex,在这里分享一下。set -e先说说set -e,这个参数的含义是,当命令发生错误的时候,停止脚本的执行。通常来说,我们会习惯于使用&&来实现这样的功能,比如:echo 1 && rm non-existent-file && echo 2但是,写成一行呢,可读性有点差,分成多行的话,也得注意换行符和&&号,我就有过好几次忘了加这俩东西,还是挺麻烦的是吧。更麻烦的是,&&a
原创
2022-01-15 10:07:24
515阅读
在Linux系统中,shell脚本是非常常见且必不可少的工具。在编写shell脚本时,我们通常会使用一些技巧来提高脚本的稳定性和可靠性。其中,使用“set -e”命令是一个非常有用的技巧。
在Linux系统中,如果我们在shell脚本中添加“set -e”命令,那么当脚本中的任何一条命令执行失败时,整个脚本就会立即停止执行,进而避免出现更严重的问题。这对于保证脚本的正确性和稳定性非常重要。
举
原创
2024-05-22 10:11:27
55阅读
在bash脚本中习惯了在脚本头部加上"set -e"内置命令,使得脚本里任何一行命令的退出状态码为非零时,shell立即退出。然而最近发现一个bug,排查了很久才找到原因,记录一下。需求是在for循环中进行一系列由管道连接的操作,大致如下:#!/bin/bashset -e
...
for id in `something`;do
cmd1 | cmd2 | grep sth
done
...看起
转载
2024-07-25 09:59:40
32阅读
循环语句常用于重复执行一条指令或一组指令,直到条件不满足停止,shell脚本语言的循环语句常见的有while、until、for、select循环语句,其中,until和select已经基本淡出历史舞台。本章讲while循环 while循环语句主要用来重复执行一组命令会语句。在企业中常用于守护进程或持续运行的程序,特别是一些监控任务。也有时候会用while来读取文件的每一行内容1、while语法w
转载
2024-02-25 19:23:58
102阅读
的值,但可以看到在脚本内并没有给定变...
原创
2023-02-24 09:51:04
2908阅读
/usr/local/mysql/bin/mysql -uroot -p123456 -e " use faygo source faygo.sql select * from devquit "
转载
2017-07-27 12:33:00
1654阅读
2评论
文件表达式-e filename 如果 filename存在,则为真-d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真-L filename 如果 filename为符号链接,则为真-r filename 如果 filena
转载
2018-06-13 16:55:00
847阅读
2评论
-----------------------------------------------------------#!/bin/bashset-ecommand1command2...exit0----------------------------------------------------------你写的每个脚本都应该在文件开头加上set-e,这句语句告诉bash如果任何语句的执行结
转载
2017-12-05 17:57:40
1105阅读
我们在调试shell脚本的时候,不可以避免的会遇到问题,这个时候,假如我们可以跟踪到脚本到底是哪里问了问题,是哪个变量出了问题,这样就对我们的调试是很有帮助的,这里介绍一个shell里面的跟踪选项这里介绍的是set命令,假设在脚本里面加入set –x ,就能显示脚本运行是的冗余输出,如果在脚本文件中加入了命令set –x ,那么在set
原创
2012-05-09 20:27:27
10000+阅读
工作中经常在shell脚本中看到set的这两个用法,但就像生活中的很多事情,习惯导致忽视,直到出现问题才引起关注。1. set -eset命令的-e参数,linux自带的说明如下:"Exit immediately if a simple command exits with a non-zero status."也就是说,在"set -e"之后出现的代码,一旦出现了返回值非零,整个脚本
原创
2023-05-28 01:33:06
374阅读