사용자의 홈 디렉터리 경로를 비교하고 첫 번째 디렉터리가 ".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"

관련 정보