贝壳之间的主要区别是什么?

贝壳之间的主要区别是什么?

我最近无法回答fishshell 和bashshell 之间的区别。我的一些问题涉及 --> 为什么bash使用.bashrcfish不使用?如果有人能阐明这个问题,我将不胜感激。注意:这个问题不仅与大多数 shell 有关,fish而且bash与大多数 shell 都有关。

答案1

不同的 shell 支持不同的命令和语法。虽然常用的 shell 在某种程度上与 Bourne shell(bash 的前身、POSIX shell 标准和许多其他 shell)兼容,但它们确实有所不同。特别是,bash 添加了许多其他 shell 所没有的功能。

“bash” 是“Bourne again shell”的缩写,指的是它要取代的 shell。

为什么 bash 使用 .bashrc 而 fish 不使用?

因为.bashrc是特定于 bash 的。大多数人使用 bash 作为他们的交互式 shell,即使他们使用不同的 shell 来执行脚本。使用.bashrc设置 bash 交互式环境允许您在其中放置仅在 bash 上工作的东西。

的替代方案.bashrc并非特定于 bash 的,而是.profile。 中的命令.profile旨在用于任何shell 以交互方式使用(该概念.profile源自于 Bourne shell)。

请注意,.bashrc非登录 shell(例如,登录 shell 的子 shell)可以读取,但.profile不能。

相关内容