我在 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
文件中。