【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版本~

相关推荐
晚安日记wanna2 小时前
简历写精通浏览器原理一问 URL 到渲染直接哑火...
前端·面试
昇腾知识体系2 小时前
昇腾 Atlas 800I A5 服务器:机型定位与部署入口
服务器·人工智能·华为·架构·知识图谱
晚安日记wanna2 小时前
四年前端被问 Code Review90人只看得懂空格和命名
前端·面试
IPdodo_2 小时前
curl 如何测试代理 IP?HTTP、SOCKS5 与认证参数示例
前端·网络·python·https·网络调试
做前端的娜娜子2 小时前
施工蓝图:vite.config.js —— 项目的指挥中心
前端·react native·vite
宸翰2 小时前
解决uni-app 中 SVG 图片在 iOS 端显示模糊问题
前端·uni-app
数据掘金2 小时前
第三方 SDK 集体故障时,你的 App 会怎样?可落地的监控与降级方案
前端
wuminyu2 小时前
Kafka的写入延迟与磁盘IO抖动原理分析
java·linux·c语言·jvm·c++
网硕互联的小客服2 小时前
服务器如何检查Web端口(如80/443)是否正常监听?
运维·服务器
buhuizhiyuci2 小时前
线程的互斥
linux·运维·服务器·c++