【问题标题】:Is "xargs" on MacOS not the same as linux?MacOS上的“xargs”与linux不同吗?
【发布时间】:2018-06-11 19:32:46
【问题描述】:

对于以下命令:

docker ps -a -q | xargs -r docker kill

我收到此错误:

xargs: illegal option -- r

上述命令的 MacOS 等效项是什么?

【问题讨论】:

  • 我刚刚发现的一个 ghetto ass 解决方案是使用 -n5000,它在 Mac 上设置了最大参数数量。它似乎有效,但不是一个优雅的解决方案。想知道是否有更清洁的方法。
  • -n5000 是 Mac xargs 上的默认值。我认为明确指定它没有任何效果。
  • GNU coreutils 与 BSD coreutils 不同。
  • 如果您仍然感到困惑,Linux 捆绑了 GNU(GNU's Not Unix)实用程序,MacOS 使用 BSD(伯克利软件发行版)。有很多不同。

标签: bash macos shell xargs


【解决方案1】:

相当于docker ps -a -q | xargs docker kill。

-r(又名--no-run-if-empty)仅在 GNU xargs 上是必需的,因为默认情况下它总是至少运行一次命令,即使没有输入; -r 禁用此功能。 BSD xargs 没有此行为,因此无需禁用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    相关资源
    最近更新 更多