su 和别名混淆

su 和别名混淆

我在 bash shell 中以当前用户身份创建了一个别名,可以使用 alias 命令查看该别名。

-当我在没有, ie的情况下切换用户时su testuser,别名不会带入新用户的环境中。

知道为什么吗?

答案1

这是因为su创建了一个新的外壳,从头开始。因此,如果您希望别名持续存在,则需要在您的.bashrc.

答案2

man su

The optional argument - may be used to provide an environment similar
to what the user would expect had the user logged in directly.

正如 asoundmove 和 Barun 所解释的那样,su会启动一个新的 shell,因此如果没有它,-就像运行一样bash --norc

答案3

事实是,当您在终端中创建任何别名时,它都是临时的。如果您在以同一用户身份登录时打开另一个终端,您将无法访问该别名。因此,您需要永久存储它们,正如声动,在.bashrc文件中。您也可以将其存储在任何其他文件中,但必须将其包含在您的.bashrc文件中。

相关内容