小编mor*_*row的帖子

根据 shell 在 .bashrc 中设置 PATH

我有一个switcher有不同用例的用户。这PATH应该取决于当前 shell 是否受到限制。因此我在末尾添加了/home/switcher/.bashrc

[[ $- == *r* ]] && PATH='' && echo 'restricted' || echo 'unrestricted' 
Run Code Online (Sandbox Code Playgroud)

但切换用户时却无法按预期工作:

root@host:~$ sudo -u switcher rbash
unrestricted
switcher@host:~$ echo $PATH
/home/switcher/bin:/usr/local/bin:/usr/bin:/bin
switcher@host:~$ echo $- $SHELL
himrBHs /usr/sbin/nologin
Run Code Online (Sandbox Code Playgroud)

这告诉我,这.bashrc实际上是被处决的,但显然是在外面rbash。我在这里缺少什么?我需要更改什么以便PATH=''在执行时设置rbash而不是在中设置bash

请注意,不幸的是,对于不同的用例使用不同的用户对我来说不是一个选择。

linux bash path bashrc

3
推荐指数
1
解决办法
444
查看次数

标签 统计

bash ×1

bashrc ×1

linux ×1

path ×1