我正在尝试运行一个命令,其中一个参数是$()
(不确定如何称呼),应该在Docker容器中进行评估。例如:
docker exec mycontainer echo $(whoami)
当执行此命令时,首先在主机上运行whoami
,因此主机的用户会被插入。相反,我希望评估容器中的whoami
命令,以便回显容器的用户。
我发现很难找到任何有关此事的帮助。我尝试过但没有成功的替代方法:docker exec mycontainer 'echo $(whoami)'
docker exec mycontainer echo '$(whoami)'
docker exec mycontainer echo $$(whoami)
docker exec mycontainer echo \$(whoami)
如何实现这个目标?
echo "$(command)"
是一个极其无用的方法,只需简单地写command
即可。而且,除非您明确要求 shell 在将命令替换的输出传递给echo
之前执行空格标记化和通配符扩展,否则echo $(command)
会出错。 - tripleeeecho
。 - Pieter Jongsma