运行 tcsh 但启动的是 bash

运行 tcsh 但启动的是 bash

我尝试在 Fedora 7 上启动 tcsh(默认 shell 是 bash)

[ss@ssvm ~]$ tcsh
[ss@ssvm ~]$ echo $SHELL
/bin/bash

如你所见,另一个 bash shell 启动了。

我查看了 tcsh 文件:

[ss@ssvm ~]$ ll /bin/tcsh
-rwxr-xr-x 1 root root 345348 2007-02-26 23:58 /bin/tcsh
[ss@ssvm ~]$ ll /bin/csh
lrwxrwxrwx 1 root root 4 2010-03-07 13:13 /bin/csh -> tcsh

这不是一个链接(但 csh 是)。我不明白为什么会发生这种情况。如果您有任何想法或需要更多信息,请告诉我。谢谢!

母婴袋鼠

答案1

简短回答:SHELL环境变量代表用户配置文件的默认 shell,而不是当前正在使用的 shell。它由生成子 shell 的程序使用。

或者,检查.cshrc命令exec bash。我曾经在一个不允许用户从 csh 更改其默认 shell 的站点上这样做过。

答案2

tcsh设置一个名为的小写变量shell

prompt> echo $shell
/usr/bin/tcsh

答案3

尝试执行 echo $0,它将提供您当前的 shell 名称。请参阅此处了解更多信息更换外壳的信息

相关内容