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

0 shell bash

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

终端外壳读取“-bash”而不是“bash”

在此处输入图片说明

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

我还尝试将终端中的默认 shell 设置为 Bash 不会走运。

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

Ste*_*ris 6

-前面的外壳名称的实际上是正常的。这就是系统告诉 shell 这是一个“登录 shell”的方式,因此可以运行其他启动脚本,例如.bash_profile.

例如,就我而言,我有:

% echo $0
-ksh
Run Code Online (Sandbox Code Playgroud)

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