返回列表 发帖

[问题求助] 求助Shell脚本异常问题set +e, trap - ERR

set +e
trap - ERR
yum list installed coreutils 2> /dev/null | grep -q coreutils &> /dev/null
set -e
trap 'echo "An error occurred with command: $BASH_COMMAND at line $LINENO"; exit 1' ERRCOPY
这样用就正常
capture_exit_code (){
set -e
trap 'echo "An error occurred with command: $BASH_COMMAND at line $LINENO"; exit 1' ERR
}
turn_off_capture_exit_code (){
echo "成功关闭捕获错误码"
set +e;
trap - ERR;
}
capture_exit_code
turn_off_capture_exit_code
yum list installed coreutils 2> /dev/null | grep -q coreutils &> /dev/null
capture_exit_codeCOPY
这样用yum list installed coreutils 2> /dev/null | grep -q coreutils &> /dev/null命令还是被捕获退出码
求助,为什么?
吹毛求疵的人,找问题的人,好奇心强的人,动手能力强的人,虚心的人,以及一个简单的研究技术的人。

回复 2# Five66


    yum list installed coreutils 2> /dev/null | grep -q coreutils &> /dev/null 我找到了,问题出在这一行了。但是我想把yum list installed coreutils 2> /dev/null 通过管道符 | 之后的内容输出来应该怎样做?
吹毛求疵的人,找问题的人,好奇心强的人,动手能力强的人,虚心的人,以及一个简单的研究技术的人。

TOP

返回列表