运行tcsh但是bash开始了


1

我尝试在我的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是)。我不明白为什么会这样。如果您有任何想法或需要进一步的信息,请告诉我。谢谢!

XM

linux  bash  shell  csh  tcsh 

tsh没有运行,因为它意识到bash是多么棒,并试图隐藏它的耻辱。
克里斯蒂娜布鲁克斯2010年

然后它忘记将其二进制文件更改为bash的链接,因此它不会再打扰...

Answers:


5

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

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


谢谢Jeffrey。我误解了$ SHELL的用法。rc文件中没有'exec bash'。实际上tcsh开始了:)我用“echo $ 0”来检查它,确实是tcsh。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.