【发布时间】:2019-05-30 21:23:42
【问题描述】:
所以我正在尝试检查命令的输出,但我也希望能够直接在终端中显示输出。
#!/bin/bash
while :
do
OUT=$(streamlink -o "$NAME" "$STREAM" best)
echo "$OUT"
if [[ $OUT == *"No playable streams"* ]]; then
echo "Delaying!"
sleep 15s
fi
done
这就是我试图做的。
代码检查命令的输出是否包含错误子字符串,如果是,则会增加延迟。这部分效果很好。
但是当命令实际成功下载文件时它不能正常工作,因为在下载完成之前它不会执行回显(这需要几个小时)。所以在那之前我无法亲自检查命令的输出
加上这个特定命令的输出会实时显示和更新速度和文件大小,这是 echo 无法复制的。
那么有没有办法能够实时显示命令的输出,同时也可以用命令替换它们以便在命令完成后检查子字符串的输出?
【问题讨论】:
标签: bash command-substitution streamlink