Javascript 用于更改NVM节点版本的Bash脚本
我正在尝试将别名添加到我的Javascript 用于更改NVM节点版本的Bash脚本,javascript,node.js,bash,version,nvm,Javascript,Node.js,Bash,Version,Nvm,我正在尝试将别名添加到我的.bash\u配置文件中,以执行以下操作: xx projname=>cd~/folder\u 1/projname并使用节点版本 如果nvm当前正在使用其他版本,则在nvm上为6 yy projname=>cd~/folder_2/projname如果nvm当前正在使用其他版本,请在nvm上使用节点版本4 我目前已经实现了除最后一部分之外的所有功能,即,如果nvm当前使用的是其他版本,则,如: function xx { cd ~/folder_1/"$1"; n
.bash\u配置文件中
,以执行以下操作:
=>xx projname
并使用节点版本 如果nvm当前正在使用其他版本,则在nvm上为6cd~/folder\u 1/projname
=>yy projname
如果nvm当前正在使用其他版本,请在nvm上使用节点版本4cd~/folder_2/projname
,如:
function xx { cd ~/folder_1/"$1"; nvm use v6;}
function yy { cd ~/folder_2/"$1"; nvm use v4;}
处理未完成任务的最佳方式是什么?我想要的是这样的东西:
$ nvm current
v6 <blabla>
运行nvmcurrent
并查看v6
的索引是否为false,然后运行nvmusev6
但我对bash真的很陌生,似乎找不到一个方法来做这件事。蒂亚 您想要获取版本。从您的评论中可以看出:
$ nvm current
v6 <blabla>
然后,将该值与“v6”进行比较。我将使用:
if [ "$version" == "v6" ]; then
...
fi
总而言之:
function yy {
cd ~/folder_2/"$1"
read version _ <<< $(nvm current)
if [ "$version" == "v6" ]; then
nvm use v4
fi
}
功能yy{
cd~/文件夹_2/“$1”
阅读版本up>我正在使用此脚本自动更改我的节点版本,它与Oh my zsh一起工作,确保已安装nvm,然后将以下脚本添加到.zshrc文件中
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
autoload -U add-zsh-hook
load-nvmrc() {
local node_version="$(nvm version)"
local nvmrc_path="$(nvm_find_nvmrc)"
if [ -n "$nvmrc_path" ]; then
local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
if [ "$nvmrc_node_version" = "N/A" ]; then
nvm install
elif [ "$nvmrc_node_version" != "$node_version" ]; then
nvm use
fi
elif [ "$node_version" != "$(nvm version default)" ]; then
echo "Reverting to nvm default version"
nvm use default
fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc
我之所以阅读这个问题是因为我遵循bash标记,所以对node.js没有太多的了解。您能指出检查您正在运行的nvm版本的方法吗?可能是吗?nvm current
给出当前节点版本。输出通常是v6
nvmuse
切换节点版本,因此第一个单词始终是thnvm版本?还有,它是在标准输出还是标准输出中显示的?你可以检查这句话:nvm current 2>/dev/null
。如果它确实显示,它就是标准输出;否则,它就是标准输出。是的。它确实显示在标准输出中,这很有效,谢谢。我只需要像这样做一个有点疯狂的条件:If[“$version”==“v6”*];然后