Let's say I have the following export in my ~/.bashrc
export MODE=vanilla
export PATH=/opt/bin/:/usr/bin/
And two scripts in my home
cat ~/setup_foo.sh
export MODE=foo
export PI_NUMBER=4
export PATH=/opt/bin/tool_foo/:$PATH
cat ~/setup_boo.sh
export MODE=boo
export PI_NUMBER=3
export PATH=/opt/bin/tool_boo:$PATH
The functionality I want to have:
$ echo $MODE
vanilla
echo $PATH
/opt/bin/:/usr/bin/
$ <<activate_foo>>
echo $MODE
foo
echo $PATH
/opt/bin/tool_foo/:/opt/bin/:/usr/bin/
$ <<activate_boo>>
echo $MODE
boo
echo $PATH
/opt/bin/tool_boo:/opt/bin/:/usr/bin/ --- NOTE, NO FOO HERE PRESERVED!
$ <<back_to_normal>>
echo $MODE
vanialla
echo $PATH
/opt/bin/:/usr/bin/ --- NO FOO AND BOO HERE!
What sort of tools, packages, bash should I use intsead of << pseudo commands >> ?
If I just call ~/.setup_foo.sh it will overwrite variable, but do not clean up PATH
--rcfile <(cat ~/.profile setup.sh)
– Oct 13 '20 at 14:25