阅读NodeJS页面时,无意中发现了这个bash命令:
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" # This loads nvm这是:
${XDG_CONFIG_HOME-}是空的,并打印主dir或打印其余的我不明白这个${XDG_CONFIG_HOME-}为什么在那里?
我也不知道什么是$(.)在这里,打印或者回音就够了吗?
发布于 2020-12-12 07:33:42
XDG_CONFIG_HOME是一个环境变量,它扩展到程序应该存储配置文件的目录。默认情况下,这个目录是主目录中的.config。因此,在我的例子中,它将扩展到/home/john/.config。
您询问的命令似乎检查是否设置了这个环境变量。如果设置了NVM_DIR,则将其设置为${XDG_CONFIG_HOME}/nvm。否则(如果没有设置XDG_CONFIG_HOME ),则将NVM_DIR设置为${HOME}/.nvm。${HOME}只是扩展到您的主目录。
我可以想象NVM_DIR是这个程序存储配置(或其他)数据的目录。命令的第一行就是根据是否设置了XDG_CONFIG_HOME (据我所知,在现代Linux系统上最常见的情况),选择这个目录的位置。
https://unix.stackexchange.com/questions/624069
复制相似问题