单独使用 [sudo -s] 后面没有其他命令,会得到一个交互的 root 的 shell。请教下,-s 参数,是否会加载环境变量定义文件?

2022-10-07 23:04:10 +08:00
 xiaoyanbot

-i 参数(即 sudo -i ),在 sudo 的 man page 里指明了,会加载 [.profile,.bash_profile or .login will be read by the shell.] , 同时呢,会跳到 /root 家目录。

那使用 sudo -s 的时候,我是知道,不会跳转 /root 家目录,会留在当前目录。 我想问下, -s 参数 [ sudo -s ] 是否也会加载 [.profile,.bash_profile ] 这类环境变量定义文件呢? 在 man page 里没有说明,

请教从哪里可以验证呢? 要去看源码吗?

835 次点击
所在节点    问与答
7 条回复
arch9999
2022-10-07 23:08:55 +08:00
eason1874
2022-10-07 23:27:44 +08:00
.profile 也是 shell 脚本文件,要验证你往里面加一行记录代码就好了,比如

echo 'echo $(date) >> /root/logtest.txt' >> /root/.profile

这样,每次被引用都会往 /root/logtest.txt 写一行时间
pennai
2022-10-07 23:37:55 +08:00
你在 profile 里 touch 新建文件或者像楼上 echo 试试不就行了
xiaoyanbot
2022-10-08 11:39:08 +08:00
好滴,谢谢各位大佬的思路!
julyclyde
2022-10-08 11:48:48 +08:00
-s 不会执行 profile 类
会执行 rc

要 profile 的话需要 sudo -i
xiaoyanbot
2022-10-10 14:58:51 +08:00
@julyclyde 请教下 : [不会执行 profile 类] , 指的是 不会加载 /etc/profile 吗?
julyclyde
2022-10-10 15:02:33 +08:00
@xiaoyanbot /etc/profile 和 ~/.bash_profile

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/885106

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX