Problem: When an ordinary user sets and export a variable and then executes the echo command with sudo, the value of the variable can be obtained, but if the echo command is written to the script and then Sudo executes the script, the variable cannot be found and the value cannot be obtained. Reason
When Sudo runs, the environment variable is reset to a safe environment variable by default, that is, the previously set variables will be invalidated, and only the environment variables specified in a few configuration files can be saved.
sudo configuration files are /etc/sudoers required for root access to read:
Modify in/etc/sudoers:
Defaults Env_reset
For:
Defaults!env_reset
In this way, any environment variables can be passed through sudo.
Transferred from: http://bbs.chinaunix.net/thread-1920936-1-1.html
Http://blog.sina.com.cn/s/blog_4da051a60102uyvg.html
sudo execution script cannot find an environment variable workaround