Pie*_*sma 4 bash command-substitution docker
我正在尝试运行一个命令,该命令有一个$()参数(不确定那个叫什么)应该在Docker容器中进行评估.例如:
docker exec mycontainer echo $(whoami)
Run Code Online (Sandbox Code Playgroud)
执行此操作时,whoami首先在主机上运行,然后插入主机的用户.相反,我希望whoami在容器中评估该命令,以便容器的用户被回显.
我发现很难找到任何帮助.我试过的替代方案不起作用:
docker exec mycontainer 'echo $(whoami)'
docker exec mycontainer echo '$(whoami)'
docker exec mycontainer echo $$(whoami)
docker exec mycontainer echo \$(whoami)
Run Code Online (Sandbox Code Playgroud)
怎么能实现这一目标?
您可以使用参数传递单个命令; 但是那个单一命令可以是sh或bash.
docker exec mycontainer sh -c 'echo $(whoami)'
Run Code Online (Sandbox Code Playgroud)
如果你需要在脚本片段中使用Bash语法(这实际上可能是任意复杂的;如果你需要引号内的单引号,可以使用几种常见的解决方法),那么显然要使用bash而不是sh.
| 归档时间: |
|
| 查看次数: |
2115 次 |
| 最近记录: |