【问题标题】:Mac OS xargs command unpredictable behaviourMac OS xargs 命令不可预知的行为
【发布时间】:2018-09-03 18:09:44
【问题描述】:

我真的对在 Mac OS 上运行的 xargs 行为感到困惑

我有这样的图片:

docker images | grep "docregistry/"
docregistry/jackrabbit   latest

我想通过以下过滤器将其删除:

docker images | grep "docregistry/" | awk '{print $1":"$2}' | xargs -0 docker rmi -f

但我得到了一个错误:

Error: No such image: docregistry/jackrabbit:latest

如果我运行docker rmi docregistry/jackrabbit,一切都会按预期运行。

提前致谢!

【问题讨论】:

  • 我建议删除-0

标签: bash macos docker xargs


【解决方案1】:

-0 告诉xargs 它应该将其输入拆分为针对空字符的docker 命令的参数,但是您的管道不会prodcue 任何空字符。这意味着awk 输出的换行符被视为图像名称的部分;该错误实际上是在告诉您图像 docregistry/jackrabbit:latest\n 不存在。 (如果grep 输出多个图像名称,错误可能会更明显。)

假设 Docker 映像不能(或至少在这种情况下不会)包含空格,只需从 xargs 命令中删除 -0

【讨论】:

    猜你喜欢
    • 2011-12-11
    • 2015-03-20
    • 2014-10-10
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多