侧边栏壁纸
  • 累计撰写 218 篇文章
  • 累计创建 59 个标签
  • 累计收到 5 条评论

direnv - 进入目录时自动激活环境

barwe
2023-04-06 / 0 评论 / 0 点赞 / 1,349 阅读 / 535 字
温馨提示:
本文最后更新于 2023-06-07,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

direnv 是一个自动激活环境的工具,它可以在你进入指定的目录时按照约定修改路径变量,离开该目录时恢复路径变量。

安装:

# Debain
sudo apt-get install direnv

Execute different hook for different shell:

eval "$(direnv hook bash)" # hook for bash

可以将上述命令写到 .bashrc 中自动挂载 direnv 的钩子。

默认情况下,激活 direnv 钩子后每次切换目录都会打印类似于 "direnv: unloading" 的日志信息,该日志可通过设置环境变量隐藏:

export DIRENV_LOG_FORMAT=""

我们可以在特定的目录中使用 .envrc 文件来指定进入该目录时需要执行的命令,但是显而易见这存在很大的安全隐患,所以默认情况下我们进入该目录时必须使用下面的指令批准 .envrc 文件的内容:

direnv allow

这显然不能达到自动化的目的。不过我们可以通过下面的环境变量指定自动批准的白名单,请自行确保白名单中的 .envrc 文件是受信任的:

export DIRENV_ALLOW_PATH="/path/to/dir"
0

评论区