【问题标题】:docker run is not executing commands with single and double quotesdocker run 不执行带单引号和双引号的命令
【发布时间】:2020-06-15 04:13:31
【问题描述】:

我有一个 docker run 命令,但使用 docker run 无法运行。但是,当我们登录到 docker 并单独运行命令时,它运行良好

docker run --rm $image argocd app patch myapplication --patch='[{"op": "replace", "path": "/spec/source/path", "value": "newPath"}]' --type json


.......
Usage:
  argocd app patch APPNAME [flags]

在容器内运行时相同的命令可以正常工作。报价可能有问题,我不确定。任何帮助表示赞赏。

单引号和双引号一起使用有点复杂

【问题讨论】:

  • 你应该把你想运行的命令放在一个变量中,然后将变量传递给 docker run。见stackoverflow.com/questions/39443913/…
  • 我遵循了这一点,但似乎没有以正确的方式工作

标签: docker


【解决方案1】:

你可以尝试转义你的双引号

docker run --rm $image argocd app patch myapplication --patch='[{\"op\": \"replace\", \"path\": \"/spec/source/path\", \"value\": \"newPath\"}]' --type json

【讨论】:

  • 唯一的工作方式是 docker run --rm $image echo && argocd.......
猜你喜欢
  • 2013-12-05
  • 2020-04-06
  • 1970-01-01
  • 1970-01-01
  • 2011-09-03
  • 2016-01-22
  • 1970-01-01
  • 2017-05-03
  • 1970-01-01
相关资源
最近更新 更多