【发布时间】:2013-09-19 16:51:54
【问题描述】:
我有以下命令检查是否添加了任何新文件并在所有这些文件上自动调用svn add
svn status | grep -v "^.[ \t]*\..*" | grep "^?" | awk '{print $2}' | xargs svn add
但是当没有文件时,svn add 会导致警告。
如何阻止xargs 调用上一个命令不会产生任何值?该解决方案需要适用于xargs 的GNU 和BSD (Mac OS X) 版本。
【问题讨论】:
-
xargs的 POSIX 标准(在设置标准之前建立在xargs的实际实现之上)要求即使没有文件名,也需要执行一次命令。只有 GNU 版本似乎承认……白痴? ......该要求的滋扰因素。如果您的代码必须在有和没有 GNUxargs的平台上工作,而无需安装 GNUxargs,那么您将不得不努力工作。