Solaris 10 Bash 将输出重定向到错误顺序的文件

发布于 2025-01-18 04:07:11 字数 3271 浏览 12 评论 0原文

我执行命令:

groovy -cp SCRIPTS_DIR SCRIPTS_DIR/build.groovy >>output.txt 2>>error.txt

build.groovy 文件包含 svn 命令和很多mvn 命令。在执行期间,文件 output.txt 正在更改顺序,并且一些行会添加到输出的中间而不是末尾。

output.txt 示例:

Executing: svn export --revision 108 --force https://svn.server.eu:/svn/TEST/trunk 101
A    /opt/eu/building/jenkins/workspace/test/101
A    /opt/eu/building/jenkins/workspace/test/101/src
A    /opt/eu/building/jenkins/workspace/test/101/src/scripts
A    /opt/eu/building/jenkins/workspace/test/101/src/template
A    /opt/eu/building/jenkins/workspace/test/101/src/template/tools
A    /opt/eu/building/jenkins/workspace/test/101/MVN
A    /opt/eu/building/jenkins/workspace/test/101/MVN/src
A    /opt/eu/building/jenkins/workspace/test/101/MVN/src/main
A    /opt/eu/building/jenkins/workspace/test/101/MVN/src/main/assembly
A    /opt/eu/building/jenkins/workspace/test/101/common
A    /opt/eu/building/jenkins/workspace/test/101/common/py
A    /opt/eu/building/jenkins/workspace/test/101/PLAIN
A    /opt/eu/building/jenkins/workspace/test/101/PLAIN/scripts

执行 mvn 命令几秒后,一些日志位于与 svn export 命令相关的行之间:

Executing: svn export --revision 108 --force https://svn.server.eu:/svn/TEST/trunk 101
********************************************************************************
*** Check if root POM exists ***************************************************
********************************************************************************
*** Timestamp....................................: 30.03.2022 14:57:53
*** In minute since build start..................: 1
*** Root POM exists: MVN/pom.xml
********************************************************************************
*** Creating source.zip on Software Archive ************************************
********************************************************************************
*** Timestamp....................................: 30.03.2022 14:57:53
*** In minute since build start..................: 1
      [zip] Building zip: /opt/eu/building/jenkins/workspace/test/source101.zip
********************************************************************************
*** Running resolve-props and lock-snapshots ***********************************
********************************************************************************
A    /opt/eu/building/jenkins/workspace/test/101
A    /opt/eu/building/jenkins/workspace/test/101/src
A    /opt/eu/building/jenkins/workspace/test/101/src/scripts
A    /opt/eu/building/jenkins/workspace/test/101/src/template
A    /opt/eu/building/jenkins/workspace/test/101/src/template/tools
A    /opt/eu/building/jenkins/workspace/test/101/MVN
A    /opt/eu/building/jenkins/workspace/test/101/MVN/src
A    /opt/eu/building/jenkins/workspace/test/101/MVN/src/main
A    /opt/eu/building/jenkins/workspace/test/101/MVN/src/main/assembly
A    /opt/eu/building/jenkins/workspace/test/101/common
A    /opt/eu/building/jenkins/workspace/test/101/common/py
A    /opt/eu/building/jenkins/workspace/test/101/PLAIN
A    /opt/eu/building/jenkins/workspace/test/101/PLAIN/scripts

我在不同的 Linux 系统上执行此命令,output.txt 是正确的。仅在 Solaris 10 上我有这种“奇怪”的标准输出行为。也许它与输出缓冲有关,但我不确定。 有什么解决办法吗?

i execute command :

groovy -cp SCRIPTS_DIR SCRIPTS_DIR/build.groovy >>output.txt 2>>error.txt

build.groovy file contains svn command and lot of mvn commands. During execution file output.txt is changing order and some rows are added in middle of output not at the end.

Example of output.txt:

Executing: svn export --revision 108 --force https://svn.server.eu:/svn/TEST/trunk 101
A    /opt/eu/building/jenkins/workspace/test/101
A    /opt/eu/building/jenkins/workspace/test/101/src
A    /opt/eu/building/jenkins/workspace/test/101/src/scripts
A    /opt/eu/building/jenkins/workspace/test/101/src/template
A    /opt/eu/building/jenkins/workspace/test/101/src/template/tools
A    /opt/eu/building/jenkins/workspace/test/101/MVN
A    /opt/eu/building/jenkins/workspace/test/101/MVN/src
A    /opt/eu/building/jenkins/workspace/test/101/MVN/src/main
A    /opt/eu/building/jenkins/workspace/test/101/MVN/src/main/assembly
A    /opt/eu/building/jenkins/workspace/test/101/common
A    /opt/eu/building/jenkins/workspace/test/101/common/py
A    /opt/eu/building/jenkins/workspace/test/101/PLAIN
A    /opt/eu/building/jenkins/workspace/test/101/PLAIN/scripts

After few secunds when mvn commands are executed some of logs are between of rows related to svn export command:

Executing: svn export --revision 108 --force https://svn.server.eu:/svn/TEST/trunk 101
********************************************************************************
*** Check if root POM exists ***************************************************
********************************************************************************
*** Timestamp....................................: 30.03.2022 14:57:53
*** In minute since build start..................: 1
*** Root POM exists: MVN/pom.xml
********************************************************************************
*** Creating source.zip on Software Archive ************************************
********************************************************************************
*** Timestamp....................................: 30.03.2022 14:57:53
*** In minute since build start..................: 1
      [zip] Building zip: /opt/eu/building/jenkins/workspace/test/source101.zip
********************************************************************************
*** Running resolve-props and lock-snapshots ***********************************
********************************************************************************
A    /opt/eu/building/jenkins/workspace/test/101
A    /opt/eu/building/jenkins/workspace/test/101/src
A    /opt/eu/building/jenkins/workspace/test/101/src/scripts
A    /opt/eu/building/jenkins/workspace/test/101/src/template
A    /opt/eu/building/jenkins/workspace/test/101/src/template/tools
A    /opt/eu/building/jenkins/workspace/test/101/MVN
A    /opt/eu/building/jenkins/workspace/test/101/MVN/src
A    /opt/eu/building/jenkins/workspace/test/101/MVN/src/main
A    /opt/eu/building/jenkins/workspace/test/101/MVN/src/main/assembly
A    /opt/eu/building/jenkins/workspace/test/101/common
A    /opt/eu/building/jenkins/workspace/test/101/common/py
A    /opt/eu/building/jenkins/workspace/test/101/PLAIN
A    /opt/eu/building/jenkins/workspace/test/101/PLAIN/scripts

I execute this command on different linux systems and there output.txt is correct. Only on Solaris 10 i have this 'strange' behavior of stdout. Maybe it's related to output buffering but i'm not sure.
Any solution for this ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文