【linux】使用alias简化指令

一、背景

由于办公的mac电脑的某些权限限制,所以没有安装nvm,在切换node版本的时候,需要通过切换PATH指向的包路径去切换版本。

但是这样每次要进zshrc文件去手动注释掉不需要版本的path,来启用其他版本,并且需要重启控制台很麻烦。QAQ

二、alias设置指令别名

如果控制台是bash的请配置在~/.bashrc里面;zsh控制台配置在~/.zshrc

后来发现可以开启一个默认的node PATH配置,然后再对其他版本使用alias对指令进行别名设置,然后直接调用该别名来切换版本。

例如:

bash 复制代码
alias n16="export PATH=$PATH:/Users/xxxx/Programs/node/node-v16.18.0-darwin-arm64/bin" 
export PATH=$PATH:/Users/xxxx/Programs/node/node-v18.18.2-darwin-arm64/bin 

**但是!**这样设置完,调用n16你会发现仍然没有切换过去,还在node 18默认版本中

⚠️这是因为 **PATH中存储着多个路径的拼接** ,当调用n16时,由于" PATH:/ "拼接在了前面,所以会优先匹配到node18的路径就++停止了++。

🌟正确做法

bash 复制代码
alias n16="export PATH=/Users/xxxx/Programs/node/node-v16.18.0-darwin-arm64/bin:$PATH" 
export PATH=$PATH:/Users/xxxx/Programs/node/node-v18.18.2-darwin-arm64/bin 

强制将node16路径拼接在前面,把 $Path 拼接在路径最后

注意,由于控制台可以视为一个应用程序,所以每次打开会++重新执行zshrc++切回到默认的node18版本~

相关推荐
小王C语言5 分钟前
虚拟机开机过程中关机,再次开机没有分配 IP
linux·网络·tcp/ip
诸葛老刘21 分钟前
Ubuntu 服务器常用运维命令
运维·服务器·ubuntu
薛定谔的悦23 分钟前
光储系统 AEMS 模块的光伏控制模式设计
linux·能源·储能·bms
禅思院27 分钟前
流式 Markdown 渲染完全指南【引子】
前端·架构·前端框架
红叶舞29 分钟前
成数据绑定对象,在应用程序中处理完数据后,将更新的数据序列化为JSON传回远端服务器,很多移动应用使用了这种模式处理服务器端的数据。 ...
运维·服务器·json
深圳恒讯34 分钟前
H100服务器是什么?H100服务器适合哪些企业?
运维·服务器
JackSparrow41437 分钟前
前端安全之JS混淆+请求加密+请求签名以提升爬虫难度
前端·javascript·后端·爬虫·python·安全
ZJH__GO38 分钟前
网络编程v4--群聊和私聊的实现
运维·服务器·网络
IMPYLH1 小时前
HTML 的 <em> 元素
java·前端·html
Ivan CloudBay1 小时前
SDK 游戏盾如何隐藏游戏服务器的真实 IP?
服务器·tcp/ip·游戏