env不工作,但echo显示变量

完全被这种行为弄糊涂了。

env不显示变量,而是echo显示它。

我经常使用 .env 文件导入测试,env | grep VAR但不知何故,它在我获取它后没有立即显示。这让我思考。

这是我用来解决问题的步骤。

$ cat >.env
TARXAN=wat
^D
$ . .env
$ echo $TARXAN
wat
$ env | grep TARXAN

$

我有 oh-my-zsh 的 zsh。没有启用任何 dotenv 插件。将不胜感激任何帮助。我在 kubuntu 20.04。

我还在 xterm 中测试了整个设置。相同的结果。

回答

env因为TARXAN它不是环境变量,所以没有显示出来,即它没有被导出。它只是一个shell变量。

  • Don't use `eval`; just use `setopt ALL_EXPORT` (or `set -a`, which would work in `bash` or `zsh`) to enable auto-exporting of names being assigned to. `set -a; . .env; set +a`.

以上是env不工作,但echo显示变量的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>