查看原文
其他

用了这条Linux命令,让你的环境稳如老狗

李逸皓 运维book思议 2024-04-22

放个链接,万一有人关注呢

优质文章推荐

↓ ↓ ↓ ↓ ↓

开启Linux新时代

怪不得大佬的Linux玩的这么6,原来是学了这个

一个小技巧让你的Docker容器不白学

一条Linux命令成为了2024的大势所趋

用了这条Linux命令,老板直接给我的名字写到加薪名单


概述

direnv是一个环境变量管理工具,它可以扩展你的shell的环境变量。它的工作原理是根据当前目录动态地改变环境变量。具体来说,当你进入一个目录时,它会加载该目录下的.envrc文件来改变环境变量,这个过程被称为"装载"(loading)。相反,当你离开该目录时,它会卸载这些环境变量,这个过程被称为"卸载"(unloading)。

功能

direnv的主要功能是管理和隔离环境变量。它可以让你在不同的项目中使用不同的环境变量,而不需要手动地去更改它们。这对于开发者来说非常有用,因为他们经常需要在不同的项目中切换,而每个项目可能需要不同的环境变量设置。通过使用direnv,开发者可以为每个项目创建一个.envrc文件,定义该项目所需的环境变量,然后direnv会自动地根据当前目录来装载和卸载这些环境变量。

应用场景

1.项目依赖管理:在Python项目中,你可能需要使用不同版本的Python或者不同的Python库。通过使用direnv,你可以为每个项目设置不同的Python路径和库。例如,你可以在.envrc文件中设置PYTHONPATH环境变量,指向该项目所需的Python库的路径。

2.保密信息管理:如果你的项目需要一些保密的环境变量(如API密钥),你可以使用direnv来管理这些信息,而不是把它们硬编码到你的代码中。你可以在.envrc文件中设置这些保密的环境变量,然后在代码中通过环境变量来使用这些信息。这样,你就可以避免把这些保密信息暴露在代码中,同时,你也可以方便地在不同的环境中使用不同的保密信息。

用法

安装direnv:

在Ubuntu上,你可以使用以下命令来安装direnv:

sudo apt-get install direnv

安装完成后,你需要在你的shell配置文件(如.bashrc或.zshrc)中添加以下行来启用direnv:

eval "$(direnv hook bash)"

创建.envrc文件:

在你的项目目录中,创建一个.envrc文件,并在其中添加一些环境变量。例如,你可以使用以下命令来创建一个.envrc文件,并设置API_KEY环境变量:

echo export API_KEY=my_secret_key > .envrc

允许direnv加载.envrc文件:

由于安全原因,direnv默认不会加载.envrc文件。你需要使用以下命令来允许direnv加载该文件:

direnv allow

现在,每当你进入该目录时,API_KEY环境变量就会被设置为my_secret_key。当你离开该目录时,API_KEY环境变量就会被卸载,这样就可以防止这个保密信息被其他项目或命令误用。

粉丝进群方式如下图:

欢迎新的小伙伴加入!在这里,我们鼓励大家积极参与群内讨论和交流,分享自己的见解和经验,一起学习和成长。同时,也欢迎大家提出问题和建议,让我们不断改进和完善这个平台。

  ↓↓↓ 点个在看,无需赞赏!

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存