繁体   English   中英

输入命令失败时如何使命令失败

[英]how to fail command when the input command fails

使用以下命令,我尝试对 file1 和 file2 进行排序并将输出提供给 diff 命令。 有时排序命令会由于临时目录空间问题而失败。 即使 sort 命令失败,它也会继续使用 diff 命令并产生差异。

如果排序命令由于某种原因失败,有没有办法停止 diff 命令

diff <(sort file1) <(sort file2)

此外,我们正在使用Runtime.getRuntime().exec()从 Java 程序执行此命令。 如何捕获 Java 中的错误。

这不是 Java 问题; 如果进程替换失败, bash不会产生错误状态。 为了在开始diff之前收到错误,如果您不介意永久排序文件,我们可以编写:

sort -o file1 file1 && sort -o file2 file2

(这也将减少空间问题,因为不需要存在两个临时文件。)
然后,如果排序成功,我们可以运行diff file1 file2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM