• 欢迎访问web前端中文站,JavaScript,CSS3,HTML5,web前端demo
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏web前端中文站吧

Shell bash 脚本 set -e 教程

JAVA web前端中文站 3年前 (2017-11-18) 2046次浏览 已收录 0个评论

程序在编写阶段经常会产生各种问题,一些高级语言都有相对于的调试工具。shell 在错误和异常处理方面也有对应的工具,利用工具在配合 set -e ,我们能更好的解决语法问题。本文介绍 set -e 的相关用法。

更多精彩内容请看 web 前端中文站
http://www.lisa33xiaoq.net 可按 Ctrl + D 进行收藏

在上一篇《Shell Bash 的错误处理》中,我们可以看到这样处理显得非常麻烦,容易疏忽。set -e从根本上解决了这个问题,它使得脚本只要发生错误,就终止执行。

 #!/usr/bin/env bash set -e  foo echo bar

执行结果如下。

 $ bash script.sh script.sh:行 4: foo: 未找到命令

可以看到,第 4 行执行失败以后,脚本就终止执行了。

set -e根据返回值来判断,一个命令是否运行失败。但是,某些命令的非零返回值可能不表示失败,或者开发者希望在命令失败的情况下,脚本继续执行下去。这时可以暂时关闭set -e,该命令执行结束后,再重新打开set -e

 set +e command1 command2 set -e

上面代码中,set +e表示关闭-e选项,set -e表示重新打开-e选项。

还有一种方法是使用command || true,使得该命令即使执行失败,脚本也不会终止执行。

 #!/bin/bash set -e  foo || true echo bar

上面代码中,true使得这一行语句总是会执行成功,后面的echo bar会执行。

-e还有另一种写法-o errexit

 set -o errexit

扩展学习:

SHELL BASH 脚本 SET -O PIPEFAIL 教程

【注:本文源自网络文章资源,由站长整理发布】


web 前端中文站 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Shell bash 脚本 set -e 教程
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址