相关疑难解决方法(0)

204
推荐指数
3
解决办法
11万
查看次数

运行 su 时未获取 .bash_profile

例如,我有一个用户user1对其 进行了修改.bash_profile,其中一个更改了PATH,例如:export PATH=/some/place:$PATH。如果我user1su - user1.

但是,如果我尝试通过suas运行命令root,例如:

su -c test.sh oracle
Run Code Online (Sandbox Code Playgroud)

(测试包含echo $PATH

它似乎没有修改PATH(或 root 的PATH,就此而言)。我也试过复制.bash_profile.profile,无济于事。

为什么会这样?

rhel su environment-variables

46
推荐指数
2
解决办法
5万
查看次数

debian su - 和 su $PATH 的区别?

$ su -
Password: 
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# exit
logout
$ su
Password: 
# echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Run Code Online (Sandbox Code Playgroud)

我不知道为什么 /bin 和 /sbin 没有添加到$PATH,如果我做普通的 su 。过去就是这样。我怎样才能解决这个问题?我确实注意到:

-rw-r--r-- 1 root root 0 Jan  8  2018 /etc/environment
Run Code Online (Sandbox Code Playgroud)

但除此之外,我的系统似乎很正常。

编辑:我忘了强制性的 uname -a

Linux rpi3 4.17.0-1-arm64 #1 SMP Debian 4.17.8-1 (2018-07-20) aarch64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

编辑2:

$ cat /etc/issue
Debian GNU/Linux buster/sid \n \l
Run Code Online (Sandbox Code Playgroud)

所有的包都来自“测试”repo,因为“稳定”的包在 aarch64 上不能很好地工作。

bash root debian su

11
推荐指数
1
解决办法
1万
查看次数