ユーザーのホームディレクトリパスを比較し、最初のディレクトリが「.nvm」であることを確認します。

ユーザーのホームディレクトリパスを比較し、最初のディレクトリが「.nvm」であることを確認します。

したがって、現在の作業ディレクトリは次のようになります。

/home/oleg/.nvm/versions/node/v7.2.1/lib/node_modules

Bashスクリプトを使用して、そのディレクトリが私のユーザーのホームディレクトリにあることを確認し、そうであれば次のことも確認したいと思います。

/home/$USER/<dir> ==? /home/$USER/.nvm

つまり、私のユーザーホームディレクトリの下のパスの最初のディレクトリ名が ".nvm"であることを確認します。

これを行う最良の方法は何ですか? (理想的にはMacOSでも動作します。)

私が本当にやるべきことは

//医師bash:

assert(String($PWD).startsWith("$HOME/.nvm"))

しかし、bashでこれを行うかどうかはわかりません。

答え1

する:

[[ $PWD =~ ^$HOME/\.nvm/ ]] && echo "In .nvm"
  • [[ $PWD =~ ^$HOME/\.nvm/ ]]ホームディレクトリから始めていることを確認し、$PWDキーワードに.nvm/Regex(=~)を使用してください。[[

  • &&)の場合は、次echo "In .nvm"を実行します。

サポートされていない場合=~(たとえば、以前のバージョンを使用している場合bash)、代わりにglobbingを使用してください。

[[ $PWD = $HOME/.nvm/* ]] && echo "In .nvm"

関連情報