原始问题:如何安装节点 我无法理解此命令的作用。请解释一下
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
答案1
是SHELL
脚本,我详细解释一下;
$()
是建议的、更高级的编码风格,功能与 ' 相同,意味着调用子 shell 来执行内联命令。
[ -z "${XDG_CONFIG_HOME-}" ]
测试参数是否XDG_CONFIG_HOME
存在,如果为空,true
。
printf %s "${HOME}/.nvm"
,正如其含义,格式字符串
printf %s "${XDG_CONFIG_HOME}/nvm")"
,与顶部相同
[ -s "$NVM_DIR/nvm.sh" ]
测试给nvm.sh
定路径下的文件是否存在,如果存在且大小大于零,true
。
\. "$NVM_DIR/nvm.sh"
,执行此文件,由于 SHELL 预解释,必须将点转义。或者您可以使用命令替换它source
。
对于基本Boolean
逻辑,整个命令是获取字符串并将其设置为NVM_DIR
,然后export
它作为全球的范围。