使用 sudo 传递 1 个环境变量

Jan*_*son 3 shell sudo environment-variables

这是在 sudo 中传递环境变量的正确方法吗?

sudo -u www-data -b env FOOBAR="foobar" /home/user/folder/daemon
Run Code Online (Sandbox Code Playgroud)

Sha*_*off 5

这有效,但env不是必需的。您可以像这样运行测试:

/tmp/测试:

#!/bin/sh
echo $tst
Run Code Online (Sandbox Code Playgroud)

chmod +x /tmp/test

sudo tst=howdy /tmp/test
Run Code Online (Sandbox Code Playgroud)

也可以通过使用-E选项来获取环境变量,这会保护您的环境(取决于其他设置)。