我应该在哪里定义 shell 别名?也就是说,最佳做法是什么(以及为什么)?
我可以想到以下选择:
.bashrc
.cshrc
.tcsh
- ...
答案1
您提到的选项指的是不同的 shell。当用户启动 shell 程序时,rc
将读取用户主目录中的相关文件。如果您使用的是 bash(就像您在 Ubuntu 中打开终端时一样,除非您已安装并选择了不同的 shell 作为用户的默认 shell),那么您应该将别名放在 中.bashrc
,或者如果您愿意的话(例如,这样您就可以更轻松地查看和编辑所有别名),放在专用.bash_aliases
文件中。默认情况下,此文件不存在,但如果创建了它,则默认情况下启动 bash 时将获取它.bashrc
:
$ grep -n '^[^#]*bash_alias' /etc/skel/.bashrc
104:if [ -f ~/.bash_aliases ]; then
105: . ~/.bash_aliases
如果您正在使用其他 shell,那么请使用适合rc
该 shell 的。
答案2
你使用的 shell 决定了要使用哪个文件。如果你使用 bash,那么在 .cshrc 中定义它们是没有意义的,因为 bash 不会读取它,反之亦然