究竟是什么`< / dev / null`当读取由null完成时?

时间:2015-12-26 17:27:40

标签: unix ffmpeg

'> /dev/null'是非常常见的语法,这不是一个新概念;但是,我已经开始编写这个脚本,无法理解'< /dev/null'背后的逻辑,尤其是FFMpeg。

我编写了几十个处理FFMpeg的脚本,我发现为了让脚本本身能够自己成功调用和执行FFMpeg,在ffmpeg的命令行末尾添加“< /dev/null”。例如:

ffmpeg -i $INPUT -c:v copy -c:a copy output.mp4 < /dev/null

但如果我没有在命令结尾添加sytnax,脚本就无法将执行“推”到FFMpeg。当我将所有null,stdout,stdin“写”为>时,我理解了整个概念,但是...... read为空? 抓头

那么,究竟是什么< /dev/null

1 个答案:

答案 0 :(得分:4)

对于许多系统,您可以参考特殊设备的手册页。例如,Linux null(4)文档:

  

从/ dev / null读取始终返回文件结尾

FreeBSD null(4)说的不同:

  

null设备接受和读取任何普通(并且愿意)文件的数据 - 但是将其丢弃。 null设备的长度始终为零。

不太清楚。 Solaris null(7)

  

从空特殊文件读取始终返回0个字节。

当一个程序想要从其标准输入读取时,你会在脚本中看到来自/dev/null的重定向,但该脚本不会提供任何数据。如果没有重定向,程序可能会等待键盘输入,例如。