【发布时间】:2022-12-09 11:02:00
【问题描述】:
我打算获取一个逗号分隔的文件列表,然后将其作为参数传递给使用 xargs 的命令。
然而,xargs 似乎忽略了 && 之后的命令部分。
$ find */build* -printf '%h/%f,'
jenkins/build.jenkinsfile,jenkins/build-x.groovy,
$ find */build* -printf '%h/%f,' | xargs -t python3 -m coverage combine python-bridge && python3 -m coverage xml --omit
python3 -m coverage combine python-bridge jenkins/build.jenkinsfile,jenkins/build-x.groovy,
Couldn't combine from non-existent path 'jenkins/build.jenkinsfile,jenkins/build-x.groovy,'
因此,该命令被解释为:
python3 -m coverage combine python-bridge jenkins/build.jenkinsfile,jenkins/build-x.groovy,
预期的:
python3 -m coverage combine python-bridge && python3 -m coverage xml --omit jenkins/build.jenkinsfile,jenkins/build-x.groovy,
任何指针都会有很大的帮助。
【问题讨论】:
-
不是
xargs。这壳将该输入分成两个命令:一个`find ... |汽车 .. -
@dave_thompson_085 啊,我明白了。谢谢。你能建议我可以探索哪些命令来实现我想要达到的目标吗?我不太精通 shell 实用程序。