Shell、bashrc 和 fish

💡 原文英文,约400词,阅读约需2分钟。
📝

内容提要

Bash是Bourne-Shell的替代品,使用时需注意登录shell和非登录shell的配置文件加载顺序。应在~/.bash_profile中引用~/.bashrc。fish shell也值得尝试,但存在一些问题。

🎯

关键要点

  • Bash是Bourne-Shell的替代品,称为Bourne-Shell-Again-Shell。

  • Bash和其他shell(如dash)在以sh名称调用时会变得更符合POSIX标准。

  • 登录shell的配置文件加载顺序为:/etc/profile -> ~/.bash_profile -> ~/.bash_login -> ~/.profile。

  • 非登录shell的配置文件为:/etc/bash.bashrc -> ~/.bashrc。

  • 使用bash作为登录shell时,~/.bashrc不会被加载,需要在~/.bash_profile中引用。

  • fish shell值得尝试,但存在一些问题。

🔎

延伸解读

Bash与其他Shell的比较

Bash作为Bourne-Shell的替代品,具有更强的功能和灵活性。与dash等其他Shell相比,Bash在以sh名称调用时更符合POSIX标准,这使得它在脚本兼容性方面表现更佳。用户在选择Shell时,应考虑其对POSIX标准的支持程度,以确保脚本的可移植性。

配置文件的加载顺序

Bash的配置文件加载顺序复杂,尤其是在登录Shell和非登录Shell之间。用户需要在~/.bash_profile中引用~/.bashrc,以确保在登录时加载必要的配置。这一细节对新手用户尤为重要,忽视可能导致环境配置不当,影响工作效率。

Fish Shell的使用注意事项

虽然Fish Shell提供了现代化的用户体验,但也存在一些问题。用户在考虑将Fish设置为默认Shell时,应了解这些潜在问题,并评估其对工作流程的影响。建议在非登录Shell中使用Fish,以避免与其他Shell的兼容性问题。

延伸问答

Bash和Bourne-Shell有什么关系?

Bash是Bourne-Shell的替代品,称为Bourne-Shell-Again-Shell。

登录shell和非登录shell的配置文件加载顺序是什么?

登录shell的加载顺序为:/etc/profile -> ~/.bash_profile -> ~/.bash_login -> ~/.profile;非登录shell为:/etc/bash.bashrc -> ~/.bashrc。

如何在Bash中加载~/.bashrc?

在~/.bash_profile中添加以下行:[[ -f ~/.bashrc ]] && . ~/.bashrc。

fish shell有什么优缺点?

fish shell值得尝试,但存在一些问题。

Bash在以sh名称调用时有什么变化?

当Bash和其他shell(如dash)以sh名称调用时,会变得更符合POSIX标准。

如何区分登录shell和非登录shell?

登录shell通常读取用户的配置文件,而非登录shell则读取不同的配置文件。

🏷️

标签

➡️

继续阅读