0

我正在尝试在 OSX 上的终端中运行 java 命令,虽然如果我只运行命令它可以正常工作,但我也想通过电子邮件发送结果文件,但是如果我在 java 命令之后添加一个管道并使用 mutt 发送它作为附件,它不会等到 java 完成才继续进入下一个管道,它试图一次执行它!

如何让它等到java完成?

试图让我的问题更清楚一点:

我正在寻找的是运行我的java命令的能力,一旦完成,我想将文件导出到目录我想gzip它然后通过电子邮件将它发送到带有mutt的发行版。我唯一没有工作的部分是正确的步进终端不会等到 java 命令完成后再移过管道。此外,我的 java 脚本具有导出到易于导入的文件的代码,通过 ^ 分隔到 excel。

java -classpath <pathtojavafiles> | find /Users/tb582/Desktop/scripts/output/*.txt -type f -maxdepth 1 -cmin -1 -exec gzip {} \;| find /Users/tb582/Desktop/scripts/output -type f -maxdepth 1 -not -cmin -2 -exec mv {} /Users/tb582/Desktop/scripts/output/archive \; | mutt -a /Users/tb582/Desktop/scripts/output/*.gz -s "Hourly Report" -- <emailaddress>

4

1 回答 1

1

如果你想等待命令完成,你应该使用 && 或 ; 将命令分开。一根管子| 用于当您希望一个程序的文本输出用作下一个程序的输入时。

于 2012-05-16T20:13:56.500 回答