bash – 当我们将命令放在美元符号和括号内时,这意味着什么:$(command)

我只是想了解下面的代码行在shell。它用于获取当前工作目录。我知道$(变量)名称返回变量名称内的值,但什么是$(命令)应该返回?它是否在执行命令后返回值?在这种情况下,我们可以使用`来执行命令。
CWD="$(cd "$(dirname $0)"; pwd)"

相同的输出可以从下面的代码行也在不同版本的shell

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

我无法理解$(cd ..和$(dirname。

任何人都可以帮助我弄清楚这个命令如何执行?

$ like $ {HOME}的用法给出了HOME的值。 $ like $(echo foo)的用法意味着运行subshel​​l中的括号内的任何内容,并返回该值作为值。在我的例子中,你会得到foo,因为echo将写foo标准输出

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...