Shell bash 脚本 set -e 教程

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

在上一篇《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 -e 教程

: » Shell bash 脚本 set -e 教程

原创文章,作者:端木书台,如若转载,请注明出处:https://blog.ytso.com/252573.html

(0)
上一篇 2022年5月4日
下一篇 2022年5月4日

相关推荐

发表回复

登录后才能评论