使用 bash 解析 .env 文件

kyo*_*kyo 1 linux bash shell environment-variables

我有 .env 文件,我正在尝试从中解析值。

我跑了这个

cat .env | grep PORT=

我有

PORT=3333

如何获取特定键的值?

nac*_*ulk 7

cat env | grep PORT= | cut -d '=' -f2
Run Code Online (Sandbox Code Playgroud)

  • 当然 - 但如果您要提出一种方法,为什么不尝试优化最佳实践方法呢?在这种特定情况下,额外的“cat”并不重要,但让人们进来是一个坏习惯——“cat foo |” wc -c` 阻止 `wc` 只能使用 `seek()` 和 `tell()` 在恒定时间 f/e 内获取其输入文件的大小,因此在其他方面的影响可能会大得多命令。(类似地,GNU `sort` 可以在大型输入文件上并行化......但仅限于从可查找文件读取时,而不是从 FIFO 读取时,后者只能从前到后读取一次)。 (3认同)
  • `grep PORT= <env` 或 `grep PORT= env` 比使用单独的 `cat` 进程更有效。 (2认同)