Compare o caminho com o usuário home e determine se o primeiro diretório é “.nvm”

1

Portanto, tenho este caminho como meu diretório de trabalho atual:

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

Usando um script bash, quero determinar se esse diretório está no diretório inicial de meu usuário e, se estiver, também verifique se

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

Em outras palavras, procure verificar se o primeiro diretório no caminho abaixo da minha página inicial do usuário é chamado ".nvm".

Qual é a melhor maneira de fazer isso? (Idealmente, isso também poderia ser executado no MacOS).

Tudo o que preciso fazer é verificar se

// pseudobash:

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

mas fazendo isso no bash, não tenho certeza

    
por Alexander Mills 21.12.2016 / 07:18

1 resposta

1

Faça:

[[ $PWD =~ ^$HOME/\.nvm/ ]] && echo "In .nvm"
  • [[ $PWD =~ ^$HOME/\.nvm/ ]] verifica se o $PWD começa com o seu diretório inicial, seguido por .nvm/ usando Regex ( =~ ) na palavra-chave [[

  • Se assim for ( && ), então echo "In .nvm" será executado

Se você não tiver =~ support (por exemplo, se estiver usando um antigo bash ), use globbing:

[[ $PWD = $HOME/.nvm/* ]] && echo "In .nvm"
    
por 21.12.2016 / 07:30