在哪里定义别名:.cshrc 还是 .bashrc?

在哪里定义别名:.cshrc 还是 .bashrc?

我应该在哪里定义 shell 别名?也就是说,最佳做法是什么(以及为什么)?

我可以想到以下选择:

  1. .bashrc
  2. .cshrc
  3. .tcsh
  4. ...

答案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 不会读取它,反之亦然

相关内容