Directory based environment variable scope - how to implement?

前端 未结 7 509
庸人自扰
庸人自扰 2021-02-04 00:03

I have a set of tools which I need to pass parameters depending on the project I\'m working on. I\'d like to be able to automatically set a couple of environment variables based

7条回答
  •  不知归路
    2021-02-04 00:43

    I've written another implementation of this, which is somewhat similar to ondir. I didn't actually know about ondir when I started working on it. There are some key differences that may be useful, however.

    • smartcd is written entirely in shell, and is fully compatible with bash and zsh, even the more esoteric options

    • smartcd will run scripts all the way down and up the directory hierarchy down to their common ancestor, not just for the two directories you're entering and leaving. This means you can have a ~/foo script that will execute whether you "cd ~/foo" or "cd ~/foo/bar"

    • it has "variable stashing" which is a more automatic way of dealing with your environment variables, whereas ondir requires you to explicitly and manually remove and/or reset your variables

    • smartcd can work with "autocd" turned on by hooking your prompt command (PROMPT_COMMAND in bash, precmd in zsh)

    You can find smartcd at https://github.com/cxreg/smartcd

提交回复
热议问题