为什么我的终端显示我正在运行 -bash (带有前导破折号)而不是 bash?

为什么我的终端显示我正在运行 -bash (带有前导破折号)而不是 bash?

我最近开始学习 UNIX 一周左右,并且尝试使用bash_profilebashrc文件来添加一些基本首选项。但今天,我无法执行几个终端命令,经过调查,我发现我所在的默认 shell 称为“-bash”(而不是“bash”)。

终端 shell 读取“-bash”而不是“bash”

在此输入图像描述

我对 UNIX 比较陌生,有可能我无意中删除/修改了一个我不应该拥有的文件,现在当我启动终端时,我处于这个“-bash”shell 中。我已经删除了我的bash_profilebashrc文件,假设这些是原因,但我仍然在这个看起来像拼写错误的 shell 中打开,我不知道如何修复它。

我还尝试将终端中的默认 shell 设置为 Bash,但没有成功。

我知道我可以配置我的bash_profile/bashrc在登录时自动进入 bash shell,但我认为这将是一个隐藏的问题,直到我意识到我的终端配置还有其他问题。

答案1

-shell名称前面的其实是正常的。系统就是这样告诉 shell 这是一个“登录外壳”等来运行其他启动脚本,例如.bash_profile.

以我为例,我有:

% echo $0
-ksh

这在所有 Unix 平台上都是相当标准的,无需担心。

相关内容