代码之家  ›  专栏  ›  技术社区  ›  codec

在shell脚本中捕获db2命令的返回代码

  •  0
  • codec  · 技术社区  · 7 年前
    x=`su - db2inst1 -c "db2 get dbm cfg" |grep KEYSTORE_LOCATION | awk '{print $5}'`
    rc="$?"
    echo "${rc}"
    

    如果我强行执行错误的命令

    x=`su - db2inst1 -c "db get dbm cfg" |grep KEYSTORE_LOCATION | awk '{print $5}'`
    rc="$?"
    echo "${rc}"
    

    这给了我一个错误:

    -bash: db: command not found
    

    1 回复  |  直到 7 年前
        1
  •  2
  •   John Kugelman Michael Hodel    7 年前
    set -o pipefail
    

    默认情况下,管道的返回值是最后一条命令的退出代码, awk '{print $5}' pipefail 如果有任何命令失败,而不仅仅是最后一个命令失败,管道就会失败。

    推荐文章