Bash 用于更改 NVM 节点版本的脚本
Bash script for changing NVM Node version
我正在尝试为我的 .bash_profile
添加别名以执行以下操作:
xx projname
=> cd ~/folder_1/projname
and use node version
6 on nvm if nvm is currently using some other version
yy projname
=> cd ~/folder_2/projname
and use node version 4 on nvm if nvm is currently using some other version
我目前已经实现了除最后一部分之外的所有内容,即 if nvm is currently using some other version
像这样:
function xx { cd ~/folder_1/""; nvm use v6;}
function yy { cd ~/folder_2/""; nvm use v4;}
处理未完成任务的最佳方法是什么?我想要的是这样的:
run nvm current
and see if index of v6
is false, and then run nvm use v6
但我是 bash 的新手,似乎无法找到执行此操作的方法。 TIA!
您想获取版本。从评论你说它是这样的:
$ nvm current
v6 <blabla>
所以你需要捕捉 nvm current
输出的第一个词:
read version _ <<< $(nvm current)
那么就是和"v6"比较这个值了。我会使用:
if [ "$version" == "v6" ]; then
...
fi
总计:
function yy {
cd ~/folder_2/""
read version _ <<< $(nvm current)
if [ "$version" == "v6" ]; then
nvm use v4
fi
}
我正在使用这个脚本来自动更改我的 Node 版本,它可以与 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_profile
添加别名以执行以下操作:
xx projname
=>cd ~/folder_1/projname
and use node version 6 on nvm if nvm is currently using some other versionyy projname
=>cd ~/folder_2/projname
and use node version 4 on nvm if nvm is currently using some other version
我目前已经实现了除最后一部分之外的所有内容,即 if nvm is currently using some other version
像这样:
function xx { cd ~/folder_1/""; nvm use v6;}
function yy { cd ~/folder_2/""; nvm use v4;}
处理未完成任务的最佳方法是什么?我想要的是这样的:
run
nvm current
and see if index ofv6
is false, and then runnvm use v6
但我是 bash 的新手,似乎无法找到执行此操作的方法。 TIA!
您想获取版本。从评论你说它是这样的:
$ nvm current
v6 <blabla>
所以你需要捕捉 nvm current
输出的第一个词:
read version _ <<< $(nvm current)
那么就是和"v6"比较这个值了。我会使用:
if [ "$version" == "v6" ]; then
...
fi
总计:
function yy {
cd ~/folder_2/""
read version _ <<< $(nvm current)
if [ "$version" == "v6" ]; then
nvm use v4
fi
}
我正在使用这个脚本来自动更改我的 Node 版本,它可以与 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