iTerm/zsh 环境变量快速切换问题

2022-11-10 09:54:17 +08:00
 Oilybear

Hi,各位 请教工具的用法,iTerm 支不支持快速开启一个配置了特定环境变量的 zsh shell 因为环境变量在 ~/.zshrc 中设置后是每次打开都生效的,但是在想可能环境变量设置多了是不是会互相干扰,比如:

  1. Tab1
    $ export PATH=$PATH:anaconda/Script
    $ which conda 
     out:path ...
    
  2. Tab2
    $ export PATH=$PATH
    $ which conda 
     out:no which conda in path
    

所以想请教各位 iterm 支不支我预先配置好某种自定义的 tab 需要的环境变量,然后快速的打开。还是说以上的操作只能自己写一个 sh ,然后每次先 source 一下

1099 次点击
所在节点    Terminal
5 条回复
TimePPT
2022-11-10 09:58:06 +08:00
你的需求是快速切 conda 环境?
看看 direnv 能不能满足你 https://direnv.net/
Oilybear
2022-11-10 10:04:54 +08:00
@TimePPT 不全是 conda ,主要是任意切换,比如有的配了 cmake 、有的配了 go 有的配了 python 等等,不过谢谢你的回复,我看一下这个工具
HAWCat
2022-11-10 10:21:03 +08:00
1~/.zshrc 里面声明多套环境的 shell 函数,函数里面 export 环境变量,
然后 iterm 的 Preference / Profiles 配置相应的 profile ,每个 profile 的 Command 里面选择 Command ,Command 值输入相应的函数名,这样就可以快速打开 Tab 并载入相应的环境变量了
imycc
2022-11-10 10:35:26 +08:00
在不同工作目录下用不同的环境变量,我之前是用 zsh+dotenv 来做的。但是你这种修改 PATH 的场景可能不太适用。
python 的多环境管理我用的 pyenv ,进入到哪个工作目录就动态加载`.python-version`。但是 go 的多环境我就不熟悉了
Oilybear
2022-11-10 10:42:31 +08:00
@HAWCat 我试试看起来这个方案很不错

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/894033

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX