将路径与用户主目录进行比较并确定第一个目录是否为“.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"

相关内容