作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我目前对以下问题感到困惑:
sudo echo $MYVAR
从我的 .bashrc 输出我的变量,
但是
sudo ./test.sh
不会,其中 test.sh 是以下可执行文件:
#!/bin/sh
echo $MYVAR
我正在运行 Ubuntu 14.04。有人能告诉我这是怎么回事吗?
最佳答案
当您运行 sudo echo $MYVAR
时,环境变量会在您的 shell 中展开……在 sudo
命令看到它之前。
当您使用 sudo
运行脚本时,该脚本只会看到 sudo
已包含在环境中的环境变量。出于安全原因,默认情况下不包括它们。
sudo
命令有一个选项-E
,它告诉命令用户想要传递所有环境变量。 sudoers 配置文件可能允许也可能不允许。
关于linux - sudo 环境变量如何在 linux 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23850668/
我是一名优秀的程序员,十分优秀!