用于更改NVM节点版本的Bash脚本

我试图添加一个别名到我的.bash_profile来执行以下操作:

  • xx projname => xx projname cd ~/folder_1/projname并在nvm上使用节点版本6如果nvm当前正在使用某个其他版本
  • yy projname => yy projname cd ~/folder_2/projname并在nvm上使用节点版本4,如果nvm当前正在使用某个其他版本

我目前已经实现了除最后一部分以外的所有内容,即if nvm is currently using some other version如下所示:

 function xx { cd ~/folder_1/"$1"; nvm use v6;} function yy { cd ~/folder_2/"$1"; nvm use v4;} 

处理未完成任务的最好方法是什么? 我想要的是这样的:

运行nvm current并查看v6索引是否为false,然后运行nvm use v6

但我真的是新手,似乎无法find办法做到这一点。 TIA!

你想获得版本。 从评论你说这是这样的:

 $ nvm current v6 <blabla> 

所以你需要抓住nvm current输出的第一个字:

 read version _ <<< $(nvm current) 

那么这是一个与“v6”比较的问题。 我会用:

 if [ "$version" == "v6" ]; then ... fi 

全部一起:

 function yy { cd ~/folder_2/"$1" read version _ <<< $(nvm current) if [ "$version" == "v6" ]; then nvm use v4 fi }