我尝试在 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 名称。请参阅此处了解更多信息更换外壳的信息