以下命令具体执行什么操作?
sudo -E env PATH=$PATH
我无法理解它的作用的简单含义。
我知道它-E
传递了调用环境变量的用户sudo
,但是env
?
答案1
在此上下文中,使用shell 在运行之前插入的自定义值并在参数列表中传递来env
打印环境变量。考虑到应该通过应该通过环境传递的参数来保留环境**设置似乎是多余的,尽管可以确保以特定的设置运行,而不会受到任何可能的破坏。PATH
sudo
sudo
-E
PATH
sudo
sudo ... env PATH="$PATH" cmd ...
cmd ...
PATH
sudo
**保留的含义将根据发布的情况而有所不同sudo
鉴于sudo
截至 2016 年左右,保留任何重复项的第一个环境变量,bash
而其他程序则使用任何重复项的最后一个环境变量。