Solaris 10 Bash 将输出重定向到错误顺序的文件
我执行命令:
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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论