用 $(<command>) 包围 bash 命令

Surrounding bash command with $(<command>)

当我注意到这条指令时,我正在 docker-machine (https://github.com/docker/machine) 上阅读

$ docker $(docker-machine config dev) run busybox echo hello world

我很好奇 $(docker-machine config dev) 部分做了什么,特别是 $() 位的意义何在? docker-machine config dev 是一个命令,所以用 $() 执行它会产生一些 bash 魔法吗?

它生成一个变量作为参数传递给程序。这就像 t=$(echo hello) 会使 $t 等于 "hello"。您可以通过执行 t=$(command) 然后 docker $t other-args

来实现相同的目的