我一直在尝试编写这个我编写的简单脚本,它运行的是我创建的可执行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文件按预期工作,我收到了预期的结果:
我一直想弄清楚的想法是当我运行脚本时如何防止出现这些文本,而是将它们打印在一个文件中,以便以后查看。我希望你能为我开辟一些想法。非常感谢你。
答案 0 :(得分:3)
将输出重定向到文件:
migrateToPstopaidX.sh > output.log
如果您想重定向stderr
,请使用此
migrateToPstopaidX.sh &> output.log
您可以使用此>>
附加日志而不是>
答案 1 :(得分:1)
将stdout
和stderr
重定向到输出文件。
migrateToPstopaidX.sh > output.log 2>&1
您可以使用>>
附加,而不是覆盖您的文件。
Bash从左到右执行重定向,如下所示:
>
:以覆盖模式打开output.log并在那里重定向stdout
。2>&1
:将stderr
重定向到"其中stdout
目前正在进行"。在这种情况下,这是一个以追加模式打开的文件。换句话说,& 1重用stdout
当前使用的文件描述符。