事情是这样的,在编程时发现分别使用“sudo -s“命令和“su - root“命令切换为超级用户后,能够执行的操作略有不同,譬如在"/etc/profile"文件中修改的PATH环境变量就不太一样,“sudo -s“命令切换后的超级用户使用的$PATH比较少,纳闷。

贴几张图说明问题。
普通用户的PATH环境变量

“su - root“的PATH环境变量

“su -“的PATH环境变量

“sudo -s“的PATH环境变量

“sudo“命令直接查看的PATH环境变量

可以看出,sudo命令使用的是普通用户的环境变量;

su - root命令和su -命令使用的是超级用户的环境变量;

那么sudo -s命令是咋回事?

我之前只知道sudo -s可以切换超级用户,并且不更改当前所在目录,没想过环境变量的差异这么大,怪不得之前用交叉编译器时敲这个命令后执行不了

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:23 天前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐