V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Oilybear
V2EX  ›  Terminal

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

  •  
  •   Oilybear · Nov 10, 2022 · 1675 views
    This topic created in 1269 days ago, the information mentioned may be changed or developed.

    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 一下

    5 replies    2022-11-10 10:42:31 +08:00
    TimePPT
        1
    TimePPT  
    PRO
       Nov 10, 2022
    你的需求是快速切 conda 环境?
    看看 direnv 能不能满足你 https://direnv.net/
    Oilybear
        2
    Oilybear  
    OP
       Nov 10, 2022
    @TimePPT 不全是 conda ,主要是任意切换,比如有的配了 cmake 、有的配了 go 有的配了 python 等等,不过谢谢你的回复,我看一下这个工具
    HAWCat
        3
    HAWCat  
       Nov 10, 2022
    1~/.zshrc 里面声明多套环境的 shell 函数,函数里面 export 环境变量,
    然后 iterm 的 Preference / Profiles 配置相应的 profile ,每个 profile 的 Command 里面选择 Command ,Command 值输入相应的函数名,这样就可以快速打开 Tab 并载入相应的环境变量了
    imycc
        4
    imycc  
       Nov 10, 2022
    在不同工作目录下用不同的环境变量,我之前是用 zsh+dotenv 来做的。但是你这种修改 PATH 的场景可能不太适用。
    python 的多环境管理我用的 pyenv ,进入到哪个工作目录就动态加载`.python-version`。但是 go 的多环境我就不熟悉了
    Oilybear
        5
    Oilybear  
    OP
       Nov 10, 2022
    @HAWCat 我试试看起来这个方案很不错
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2369 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 01:47 · PVG 09:47 · LAX 18:47 · JFK 21:47
    ♥ Do have faith in what you're doing.