Bash:重定向暂停

时间:2010-06-13 18:50:53

标签: linux bash redirect

我有一个命令,例如ls-l> file.txt的 当我的驱动器上没有足够的空间时,上面的命令就会停止等待发生的事情。有没有人知道我能编写的代码,使我能够显示有关驱动器空间不足的消息?例如。我可以使用IPC还是您有其他想法?提前谢谢。

2 个答案:

答案 0 :(得分:0)

您可以使用df命令来确定驱动器上的可用空间量,例如,如果可用空间少于5M,则不要开始处理。

或者您可以从内部程序中检查可用空间量并将警告消息写入STDERR。

答案 1 :(得分:0)

通过另一个程序输出管道命令,该程序将拦截写入错误(例如ENOSPC),打印诊断并在没有其他任何操作的情况下失败。

此程序可以像cat一样简单:

foobar | cat > file.txt

cat会报告错误并死亡,foobar会收到SIGPIPE,默认操作也会死亡。