在 Ubuntu 下,我如何放置一个对所有人通用的 shell 别名命令?

jfm*_*ier 7 script shell alias ubuntu

在 Ubuntu 9.10 下,我可以在哪里放置一个别名命令,该命令对所有用户(root 用户或其他用户)都有效,并且可以与 GNOME 下的 shell 以及 ssh 会话和普通控制台登录一起使用?

例如,我喜欢这个ll命令,它在 Ubuntu 下不是默认定义的,而是在 openSuSE 下定义的。我可以手动输入:

alias "ll=ls -als"
Run Code Online (Sandbox Code Playgroud)

但它只对当前 shell 有效。我希望这对所有用户始终有效,远程或本地连接。

我应该编辑哪个文件?

小智 8

你应该把它放在:

 /etc/bash.bashrc
Run Code Online (Sandbox Code Playgroud)

供所有用户使用。


jfm*_*ier 4

实际上,我发现答案,至少对我来说,是之前两个答案的组合。我发现以下内容对我有用:

文件 /etc/profile 确实被执行,但其中的别名命令不起作用。据我所知,别名命令仅在执行 shell 进程时才有效。查看文件 /etc/bash.bashrc,我在文件顶部读到该文件必须来自 /etc/profile。

所以我首先在/etc/bash.bashrc中添加了我想要的别名命令。喜欢:

 alias "ll=ls -als"
Run Code Online (Sandbox Code Playgroud)

然后我在 /etc/profile 的末尾附加了 source 命令:

 source /etc/bash.bashrc
Run Code Online (Sandbox Code Playgroud)

它似乎在本地启动的 shell 和 SSH 连接的 shell 中都运行良好。