侧边栏壁纸
博主头像
我的学习心得 博主等级

行动起来,活在当下

  • 累计撰写 223 篇文章
  • 累计创建 60 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

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

Administrator
2023-04-06 / 0 评论 / 0 点赞 / 1491 阅读 / 0 字

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

评论区