【发布时间】:2019-02-21 05:12:24
【问题描述】:
我偶然发现了一种基于变量有条件地返回值的令人困惑的方式。我想检查进程是否成功然后回显“进程成功”,但是如果失败了,我想检查特定的错误消息然后返回错误消息,
ERRMSG="$(cd /nonexist 2>&1)"
if [ $? -ne 0 ]
then
if [ -z "$ERRMSG|grep -o 'No such file or directory'|head -1" ]
then
echo "empty" >> $FQLOGNAME
else
echo $ERRMSG|grep -o 'No such file or directory'|head -1 >> $FQLOGNAME
fi
else
echo "success" >> $FQLOGNAME
fi
请指教, 谢谢
【问题讨论】: