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-}
ホームディレクトリを印刷します。または残りは印刷してください - 結果のエクスポート
- ディレクトリからスクリプトを実行する
なぜか理解できませんか${XDG_CONFIG_HOME-}
?
また、$(...)がここで何をしているのかわかりません。印刷やエコだけで十分ではないでしょうか?
答え1
XDG_CONFIG_HOME
プログラムが構成ファイルを保存する必要があるディレクトリに展開される環境変数。デフォルトでは、このディレクトリは.config
ホームディレクトリにあります。だから私の場合は/home/john/.config
。
質問したコマンドは、この環境変数が設定されていることを確認するようです。設定されている場合NVM_DIR
に設定されます${XDG_CONFIG_HOME}/nvm
。それ以外(XDG_CONFIG_HOME
設定されていない場合)に設定されNVM_DIR
ます${HOME}/.nvm
。${HOME}
ホームディレクトリに展開するだけです。
私はこれがNVM_DIR
プログラムが設定(または他の)データを保存するディレクトリだと思います。コマンドの最初の行は、ifXDG_CONFIG_HOME
設定(私が知っている限り、最新のLinuxシステムで最も一般的です)に基づいてディレクトリの場所を選択します。