当我使用 sudo 运行命令时,环境变量不可见吗?

p2p*_*ode 2 linux unix script bash shell

$cat test
export var=value

$source ./test

$cat print.sh
echo $var

$chmod +x print.sh

$echo $var
value

$sudo ./print.sh
Run Code Online (Sandbox Code Playgroud)

我什么也得不到。我期待看到价值。

到底是怎么回事?

Céd*_*ien 5

如果您想使用 sudosudo -E保留环境,请使用它将保留环境。

如果您需要始终保留某些环境变量,请编辑 sudoers 文件以添加行:

Defaults        env_reset
Defaults        env_keep += "YOURVARIABLE OTHERVARIABLE YETANOTHER"
Run Code Online (Sandbox Code Playgroud)