在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阅读
文件表达式-e filename 如果 filename存在,则为真-d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真-L filename 如果 filename为符号链接,则为真-r filename 如果 filena
转载
2018-06-13 16:55:00
847阅读
2评论
/usr/local/mysql/bin/mysql -uroot -p123456 -e " use faygo source faygo.sql select * from devquit "
转载
2017-07-27 12:33:00
1654阅读
2评论
记录 | shell脚本中的set -e和set +e
原创
2023-12-19 10:24:23
244阅读
语法:set [-可选参数] [-o 选项]一般 “-” 表示启用某个参数,“+” 表示取消某个set曾启动的参数。与-<参数>相反功能说明set 指令可根据不同的需求来设置当前所使用 shell 的执行方式,同时也可以用来设置或显示 shell 变量的值。当指定某个单一的选项时将设置 shell 的常用特性,如果在选项后使用 -o 参数将打开特殊特性,若是 +o 将关闭相应的特殊特性
转载
2024-04-28 19:55:28
38阅读
强制的错误立即退出机制,使得脚本在遇到非零退出状态的命令时能够继续执行下去,除非脚本本身包含了针对特定命令退出状态的检。
原创
2024-04-25 11:24:59
889阅读
编写shell脚本没多久,对于其许多命令的具体用法还不太熟悉。最近刚好有需求,就尝试用脚本去实现。其中就有用到set-e选项。在用这个命令之前,也查过其功能,描述比较简单:就是当命令以非零状态退出时,则退出shell。主要作用是,当脚本执行出现意料之外的情况时,立即退出,避免错误被忽略,导致最终结果不正确。这里主要讨论的是set-e选项的作用范围,创建如下测试文件:原文来自:https://blo
转载
2019-07-16 10:13:45
954阅读
点赞
“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的这两个用法,但就像生活中的很多事情,习惯导致忽视,直到出现问题才引起关注。1. set -eset命令的-e参数,linux自带的说明如下:"Exit immediately if a simple command exits with a non-zero
转载
2019-03-04 16:24:00
255阅读
任务下发 主节点脚本 任务管控脚本 [root@admin1 ~]# cat mytest.sh echo lovecode [root@admin1 ~]# cat myfor.sh #!/bin/shexe_f="bash mytest.sh"for((i=1;i<=10;i++));do ec
转载
2018-05-17 15:29:00
2034阅读
2评论
# 在Shell脚本中执行HBASE Shell脚本
作为一名经验丰富的开发者,我将向你介绍如何在Shell脚本中执行HBASE Shell脚本。在这篇文章中,我将按照以下流程逐步指导你完成任务:
1. 安装HBASE:首先,你需要在你的机器上安装HBASE。你可以从HBASE的官方网站上下载并安装HBASE。
2. 创建HBASE表:在开始执行HBASE Shell脚本之前,你需要创建一个H
原创
2023-10-06 09:52:19
253阅读
变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid./package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh:init_wireless...
转载
2015-11-02 09:25:00
292阅读
2评论
执行Shell脚本的方式基本上有三种:(1)输入定向到Shell脚本这种方式是用输入重定向方式让Shell从给定文件中读入命令行并进行相应处理。其一般形式是:$ bash < 脚本名例如:bash <test.sh$ bash Shell从文件ex1中读取命令行,并执行它们。当Shell到达文件末尾时就终止执行,并把控制返回到Shell命令状态。此时,脚本名后面不能带参数。(2)以脚本
转载
2023-09-05 21:22:10
454阅读
文本终端的颜色可以使用“ANSI非常规字符序列”来生成。举例:echo -e "\033[44;37;5m ME \033[0m COOL"以上命令设置背景成为蓝色,前景白色,闪烁光标,输出字符“ME”,然后重新设置屏幕到缺省设置,输出字符 “COOL”。“e”是命令 echo 的一个可选项,它用于激活特殊字符的解析器。“\033”引导非常规字符序列。“m”意味着设置
转载
2024-05-14 09:39:11
31阅读
文章目录前言一、在 Shell 脚本中调用另一个 Shell 脚本的三种方式1.1 fork1.2 exec1.3 source二. 等待.sh脚本仅在另一个脚本完成后才能运行?2.1 &&连接器2.2 ;连接器总结 前言提示:以下是介绍为什么写这篇文章:如何再shell脚本中调用其他脚本?顺序调用会保证脚本的顺序执行吗?一、在 Shell 脚本中调用另一个 Shell 脚本的三
转载
2023-12-17 13:06:44
143阅读
文章目录Shell脚本三种循环(多例题)一、for循环1、for循环结构分类2、列表循环3、类C的for循环二、while循环1、while循环结构2、while死循环结构3、循环控制语句 (break和continue)三、until循环四、综合例题 Shell脚本三种循环(多例题)在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅时处理的对象不一样,其他命令相同。如重复判断
转载
2024-02-26 15:13:17
365阅读
set -e 是一个用于控制脚本行为的命令,它的作用是:
功能
当脚本运行时,set -e 会确保一旦某个命令返回非零的退出状态(即执行失败),整个脚本会立即停止执行。这对于编写需要确保关键步骤成功完成的脚本非常有用,因为它可以防止脚本继续运行而不知某些步骤已失败。
详细解释
在 Bash 脚本中,每个命令执行后都会返回一个退出状态码。通常,返回 0 表示成功,而非零的退出状态码表示失败。
默
原创
2024-10-10 08:45:28
219阅读
一、简述grep 命令是一种强大的文本搜索工具 , 根据用户指定的“模式”对目标文本进行匹配检查 , 打印匹配到的行由正则表达式或者字符及基本文本字符所编写的过滤条件确定二、grep的基本用法和格式grep root passwd 显示包含root的行grep ^root passwd &nb
转载
2024-03-26 10:44:09
164阅读
本文是Linux Shell系列教程的第(九)篇,更多shell教程请看:Linux Shell系列教程判断语句是每个语言都必不可少的关键语法,Shell命令当然也不例外。今天就给大家介绍下Shell判断语句 if else 用法。if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。Shell 有三种 if else格式:if … fi 格式if … else … fi 格式if … el
转载
2023-09-27 23:20:19
116阅读