我知道运算符';','&','&&'或'||'的相对绑定优先级
http://www.gnu.org/software/bash/manual/bashref.html#Lists
但是当管道与“ &&”一起出现在图片中时,我很难理解绑定强度,或者偶然发现了正确的命令,或者只是放弃了。
'|'的绑定优先级是什么 和“>”与上述相比?
我感到困惑的示例:
ls _thumbnails/video.mp4.jpg 2>/dev/null
&& echo "thumbnail already generated. Not regenerating" \
&& exit \
|| ffmpeg_thumbnail_create video.mp4 2>/dev/null \
&& ls _thumbnails/video.mp4.jpg \
&& echo "Thumbnail successfully created" \
&& exit \
|| echo "Thumbnail creation failed" \
| tee ~/thumbnails.log
上面的目标是在且仅当一个缩略图不存在时创建缩略图(我每天运行一次cronjob)。而且我不喜欢没有错误时ffmpeg的大量输出(这不是Unix方式)。还有其他情况,所以不要开始给我建议,这些建议使用单独的语句或特定于这些程序的特殊选项。我想了解绑定优先级。
{
...}
应该有效。我可能没有系统地尝试过,但没有得到预期的结果。