在一个术语中(比如说 PuTTY 会话),我希望看到我当前的 shell bash 被一个新的 bash 替换,同时刷新用户的组(以及其他组)。
我知道exec bash --login
用新 shell 替换当前 shell、重新加载.bashrc
或.profile
文件,但它不会重新加载/etc/groups
。我猜这个命令不会加载所有系统配置文件(如果能提供更多详细信息,我将不胜感激)。
我知道这样su - username
做,但它会创建另一个嵌套 shell,而不是替换当前 shell(并且它会要求输入密码)。我不想输入任何密码,也不必再exit
输入密码。
有没有办法本地实现这一点?=> 用一个新的 shell 替换我当前的 shell,方式与我在另一个术语中登录完全相同(新会话,重新加载 bash 文件、组等)。
答案1
我猜你正在寻找newgrp
命令。你不需要启动新的 shell,只需:
newgrp GROUP
当然您需要事先由系统管理员添加到该组。