Bash:用新的 shell 替换当前 shell 并刷新组

Bash:用新的 shell 替换当前 shell 并刷新组

在一个术语中(比如说 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

当然您需要事先由系统管理员添加到该组。

相关内容