Shell 脚本强制停止而不等待退出代码

Shell 脚本强制停止而不等待退出代码

我在我的 CentOS 机器上写了一个 shell 脚本checklick.sh,内容如下:

#!/bin/sh

#
# description: check link through rtmpdump
#

. /etc/rc.d/init.d/functions

DUMPUTIL=/usr/bin/rtmpdump
"$DUMPUTIL" -B 1 -r "$1" -o /tmp/rtmp-checker.log && echo_success || echo_failure

并由执行

./checklink.sh rtmp://tv2.globisoft.net/live/tv2

现在,从以下输出:

在此处输入图片描述

我需要知道如何在日志打印时强制退出脚本,ERROR: RTMP_ReadPacket, failed to read RTMP packet header因为我正在从 PHP 本机函数调用脚本exec并且一直在等待退出代码,但脚本没有返回退出代码。

答案1

如何测试命令输出的每一行?

#!/bin/bash

while read -r line; do
  echo "$line"

  if [[ "$line" == "TEST" ]]; then
      exit
  fi
done < <(cat testfile)

上面的代码读取给定命令的输出(本例中为“cat testfile”),然后回显结果。它会检查是否有一行等于“TEST”,如果找到匹配项,则退出。

相关内容