sudo环境变量在linux中是如何工作的?
我目前对以下几点感到困惑:sudo环境变量在linux中是如何工作的?,linux,bash,.bash-profile,Linux,Bash,.bash Profile,我目前对以下几点感到困惑: sudo echo $MYVAR 从my.bashrc输出我的变量 但是 不,其中test.sh是以下可执行文件: #!/bin/sh echo $MYVAR 我正在运行Ubuntu 14.04。有人能告诉我这里发生了什么吗?当您运行sudo echo$MYVAR时,环境变量在shell中展开。。。在sudo命令看到它之前 使用sudo运行脚本时,该脚本只会看到sudo已包含在环境中的环境变量。默认设置是不包含它们。。。出于安全原
sudo echo $MYVAR
从my.bashrc输出我的变量
但是
不,其中test.sh是以下可执行文件:
#!/bin/sh
echo $MYVAR
我正在运行Ubuntu 14.04。有人能告诉我这里发生了什么吗?当您运行
sudo echo$MYVAR
时,环境变量在shell中展开。。。在sudo
命令看到它之前
使用sudo
运行脚本时,该脚本只会看到sudo
已包含在环境中的环境变量。默认设置是不包含它们。。。出于安全原因
sudo
命令有一个选项-E
,告诉命令用户希望传递所有环境变量。sudoers配置文件可能允许也可能不允许这样做。感谢您提供的详细信息!
#!/bin/sh
echo $MYVAR