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

相关推荐
ambition202426 小时前
UNIX消息队列:从理论模型到工程实现的演进
linux·服务器·unix
_按键伤人_6 小时前
二、从零搭建本地 RAG 知识库
前端·llm·ai编程
_按键伤人_6 小时前
一、理解 RAG:从概念到实践
前端·llm·ai编程
阿正的梦工坊6 小时前
【Typescript】08-keyof-typeof-索引访问类型
linux·ubuntu·typescript
lichenyang4536 小时前
鸿蒙聊天 Demo 练习 04:聊天历史本地缓存,实现消息记录持久化
前端
高翔·权衡之境6 小时前
主题10:实时性——硬实时与软实时
服务器·网络·驱动开发·信息与通信·智能硬件
名字都不重要何况昵称6 小时前
canvas 元素拾取
前端·canvas
从文处安6 小时前
「前端何去何从」React Router:让单页应用有多页的体验
前端·react.js
Lkstar6 小时前
Vue Router 进阶:导航守卫、动态路由与懒加载,源码级理解
前端
ricardo19736 小时前
# Tree Shaking 深度解析:为什么你的代码没被摇掉?
前端·面试