linux– 在特定目录中设置环境变量

linux– 在特定目录中设置环境变量,第1张

概述这是一个.bashrc问题.我想在.rvmrc这样的特定目录中为.bashrc设置“export FOO = bar”.我在下面试过.$touch ~/foo/.bashrc $echo 'export RAILS_ENV=development' >> ~/foo/.bashrc $cd foo/ $env|grep RAILS_ENV 但在这

这是一个.bashrc问题.
我想在.rvmrc这样的特定目录中为.bashrc设置“export FOO = bar”.

我在下面试过.

$touch ~/foo/.bashrc$echo 'export RAILS_ENV=development' >> ~/foo/.bashrc$cd foo/$env|grep RAILS_ENV

但在这种情况下,RAILS_ENV不会被设置.

如果我设置为.rvmrc而不是.bashrc,它会通过!但是设置为.bashrc是更好的方法,因为我不需要安装rvm环境.

有解决方案吗

最佳答案在你的bashrc中设置:

PROMPT_COMMAND='[[ $PWD == "/foo/bar/" ]] && export FOO=bar || unset FOO'

PROMPT_COMMAND变量的内容将在每次重写提示时执行(在实际写入之前)上面的命令检查$PWD变量(它保存shell的当前工作目录)对“/ foo / bar”如果它匹配它导出你的变量,如果没有,那么变量是未设置的.

例如

peteches@yog-sothoth$PROMPT_COMMAND='[[ $PWD == "/home/peteches/test" ]] && export FOO=bar || unset FOO'peteches@yog-sothoth$pwd/home/petechespeteches@yog-sothoth$cd testpeteches@yog-sothoth$pwd/home/peteches/testpeteches@yog-sothoth$env | grep FOO6:FOO=bar73:PROMPT_COMMAND=[[ $PWD == "/home/peteches/test" ]] && export FOO=bar || unset FOOpeteches@yog-sothoth$cd ../peteches@yog-sothoth$pwd/home/petechespeteches@yog-sothoth$env | grep FOO72:PROMPT_COMMAND=[[ $PWD == "/home/peteches/test" ]] && export FOO=bar || unset FOOpeteches@yog-sothoth$
总结

以上是内存溢出为你收集整理的linux – 在特定目录中设置环境变量全部内容,希望文章能够帮你解决linux – 在特定目录中设置环境变量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1047825.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存