高防服务器

shell命令返回值判断的方法有哪些


shell命令返回值判断的方法有哪些

发布时间:2022-02-25 18:19:54 来源:高防服务器网 阅读:96 作者:iii 栏目:开发技术

这篇文章主要介绍了shell命令返回值判断的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇shell命令返回值判断的方法有哪些文章都会有所收获,下面我们一起来看看吧。

1.判断命令是否存在

优雅方法1

首先,检查命令是否有效的惯用方法直接在if语句中。

if command; then      echo notify user OK >&2  else      echo notify user FAIL >&2      return -1  fi

(良好做法:使用>&2将消息发送给stderr。)

优雅方法2

将通用逻辑转移到共享函数中。

check() {      local command=("$@")        if "${command[@]}"; then          echo notify user OK >&2      else          echo notify user FAIL >&2          exit 1      fi  }    check command1  check command2  check command3

优雅方法3

installed () {          command -v "$1" >/dev/null 2>&1  }  if installed <command1>  then         <command1>  xx  else          <command1>  xxx   fi

2.返回错误退出

1.|| exit退出

command1 || exit  command2 || exit  command3 || exit

2.使用-e

$  bash -e xx.sh  #!/bin/bash -e xx.sh  command1  command2  command3

3.set -e

$ bash xx.sh   #!/bin/bash  set -e   command1  command2  command3

3.返回错误提示

一般方法:

方法1

if do some command; then      echo notify user OK  else      echo notify user fail      exit 255  # exit code must be unsigned short  fi

方法2

do some command  if [ $? -eq 0 ]; then      echo notify user OK  else      echo notify user FAIL      return -1  fi

优雅方法

方法1

die() {      local message=$1        echo "$message" >&2      exit 1  }    command1 || die 'command1 failed'  command2 || die 'command2 failed'  command3 || die 'command3 failed'

方法2(推荐)

warn () {    echo "$@" >&2  }    die () {    status="$1"    shift    warn "$@"    exit "$status"  }    do some command && echo notify user OK || die 255 Notify user fail

关于“shell命令返回值判断的方法有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“shell命令返回值判断的方法有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注高防服务器网行业资讯频道。

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[