如何使用bash脚本将所有jar结果打印到文件中

时间:2017-12-08 05:30:14

标签: java bash executable-jar

我一直在尝试编写这个我编写的简单脚本,它运行的是我创建的可执行jar文件。脚本的命令如下:

#!/bin/bash
msisdn=$1

java -cp /home/support/phuzca/Migration/PostpaidXMigration_lib/ -jar /home/support/phuzca/Migration/PostpaidXMigration.jar $msisdn /home/support/phuzca/Migration/config.properties /opt/tomcat9/webapps/axis2/WEB-INF/classes/META-INF/PlanID.xml

jar文件按预期工作,我收到了预期的结果:

enter image description here

我一直想弄清楚的想法是当我运行脚本时如何防止出现这些文本,而是将它们打印在一个文件中,以便以后查看。我希望你能为我开辟一些想法。非常感谢你。

2 个答案:

答案 0 :(得分:3)

将输出重定向到文件:

migrateToPstopaidX.sh > output.log

如果您想重定向stderr,请使用此

  migrateToPstopaidX.sh &> output.log

您可以使用此>>附加日志而不是>

答案 1 :(得分:1)

stdoutstderr重定向到输出文件。

migrateToPstopaidX.sh > output.log 2>&1

您可以使用>>附加,而不是覆盖您的文件。

Bash从左到右执行重定向,如下所示:

  • >:以覆盖模式打开output.log并在那里重定向stdout
  • 2>&1:将stderr重定向到"其中stdout目前正在进行"。在这种情况下,这是一个以追加模式打开的文件。换句话说,& 1重用stdout当前使用的文件描述符。