我想检查命令的输出并根据输出运行不同的命令。Bash - 捕获命令的输出
count="1"
for f in "[email protected]"; do
BASE=${f%.*}
# if [ -e "${BASE}_${suffix}_${suffix2}.mp4" ]; then
echo -e "Reading GPS metadata using MediaInfo file ${count}/${#@} "$(basename "${BASE}_${suffix}_${suffix2}.mp4")"
mediainfo "${BASE}_${suffix}_${suffix2}.mp4" | grep "©xyz" | head -n 1
if [[ $? != *xyz* ]]; then
echo -e "WARNING!!! No GPS information found! File ${count}/${#@} "$(basename "${BASE}_${suffix}_${suffix2}.mp4")" || exit 1
fi
((count++))
done
MediaInfo是我检查输出的命令。写到这 如果一个视频文件具有“©XYZ”原子输出看起来是这样的:
$ mediainfo FILE | grep "©xyz" | head -n 1
$ ©xyz : +60.9613-125.9309/
$
否则是无效
$ mediainfo FILE | grep "©xyz" | head -n 1
$
上面的代码无法正常工作,甚至当回声警告©xyz呈现。 任何想法我做错了什么?