shell 脚本中 set -e选项的作用 set -e选项保证程序的每一步都执行正确,如果前面一部程序执行错误,则直接退出程序 001、 不加 set -e的情况 (base) [root@PC1 test2]# ls test.sh (base) [root@PC1 test2]#cat test.sh#!/bin/bash xxxx echo step2 (base) [root@PC1 test2]#bash test.shtest....
set命令的-e参数,linux 自带的说明如下: “Exit immediately if a simple command exits with a non-zero status.” 也就是说,在set -e之后出现的代码,一旦出现了返回值非零,整个脚本就会立即退出。有的人喜欢使用这个参数,是出于保证代码安全性的考虑。 而set +e是如果出现了返回值为非零,将会继续执行下面的...
51CTO博客已为您找到关于shell中set -e的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及shell中set -e问答内容。更多shell中set -e相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。
将这几行单拎出来,在命令行下执行,除了提示待删除的目录不存在,并没有什么问题,文件还是会被推送到指定的地方。 但第一次执行这个脚本的时候,却失败退出了,且导致调用该脚本的程序整体退出,造成了严重的后果。原因是hdfs上还没有这个目录,rmr这一行会返回255,这个值被脚本前方的"set -e"捕捉到,直接导致了脚本...
set -e会在执行出错时结束程序,就像其他语言中的“抛出异常”一样。(准确说,不是所有出错的时候都会结束程序,见下面的注) 注:set -e结束程序的条件比较复杂,在man bash里面,足足用了一段话描述各种情景。大多数执行都会在出错时退出,除非 shell 命令位于以下情况: ...
set -e command 1 command 2 每个脚本都应该在文件开头加上set -e,这句语句告诉bash如果任何语句的执行结果不是true则应该退出。 这样的好处是防止错误像滚雪球般变大导致一个致命的错误,而这些错误本应该在之前就被处理掉。如果要增加可读性,可以使用set -o errexit,它的作用与set -e相同。
set -e 的作用:在运行脚本的时候如果脚本出现的命令有出现非零的情况就会中断、退出。 >不加set -t的时候 [root@localhost ~]# sh set-e.sh jj set-e.sh: line 4: foo: command not found 继续执行 ... #!/bin/sh set -e <---只加入这一行 echo jj foo echo "继续执行" --->执行结果 [r...
通过set命令查看 SP2变量是定义换行之后的命令提示符的显示。 2、PS1可以支持的选项 我们先解释一下系统命令提示符的组成[root@localhost ~ ] #,我们之前说过root位置代表当前登陆的用户,localhost位置代表当前主机名的简写主机名,~位置表示当前所在目录,第四列就是命令提示符。
-e //测试 没有-e就执行完整个,有就不执行完 +e 测试 这个把变量放到循环里面,有没有 这里把变量放到新的环境里面, - 这里,set x;使用shell进行编译否则在set “$$@” “$$include..”按照shell编译 这里的作用是生成包含目录:自动累加 这里只是修改环境变量而已 Eval 下面这个没什么反应 下面可以看到效果...
可以看到该命令首先输出若干行提示信息并且提示输入用户新的登录shell。我们必须在提示信息后面输入用户的登录shell或者直接回车不修改登录shell。 2、实现自动执行 #!/usr/bin/expect # Change a login shell to tcsh set user [lindex $argv 0] spawn chsh $user ...