【问题标题】:Changing from tcsh to bash? [closed]从 tcsh 更改为 bash? [关闭]
【发布时间】:2016-03-26 02:21:24
【问题描述】:

我在使用一些 shell 命令时遇到困难,我认为这是由于我的 shell 设置为 BASH 失败所致。

以下命令解决了我的问题:

bash --login

或者直接输入

bash

因此,我似乎需要将我的 shell 重新配置为 bash,这应该很简单。我的默认 $SHELL 变量是 /bin/bash

我认为这是由于我的终端首选项下的以下设置:

run a custom command instead of my shell 
/bin/tcsh/

为什么要将我的 shell 首选项设置为这个,tcsh 相对于 bash 的优势/用途是什么?

另外,我应该如何克服这个问题,同时仍然保留使用可能依赖此默认终端首选项 (/bin/tcsh) 的任何功能

这是我的一些系统信息:

Ubuntu 14.02
$SHELL 
/bin/bash
$BASH_VERSION
undefined variable

我之前曾使用以下命令从 DASH 更改为 BASH:

sudo dpkg-reconfigure dash

我之前也使用过以下命令:

sudo apt-get install csh

【问题讨论】:

  • 如果您正在运行 bash,则不能指望 tcsh 功能可用。同样,如果您使用 python 编程,您不能指望某些特定的东西,比如 perl。它们是不同的语言。 bash 确实从 tcsh 借用了许多交互功能。您是否特别需要任何特定的 tcsh 功能?
  • 问题在于您的终端偏好。您的终端正在调用 /bin/tcsh 而不是您的默认 shell,因为您已将其配置为执行此操作。删除该配置设置,它应该调用bash。 (而且你还没有告诉我们你使用的是什么终端程序,所以我不能告诉你怎么做。)

标签: linux bash shell profile dash-shell


【解决方案1】:

我怀疑您已经设置了 /bin/bash,但如果没有,请帮助您更改它:

用户的默认 shell 设置在 /etc/passwd 中(通常)。
您可以通过以下方式查看为您设置的内容:

grep "user" /etc/passwd

其中 user 是您在系统中的用户名。最后一个值(在最后一个“:”之后)是你使用的 shell 设置的值。您可以通过两种方式更改它,或者通过编辑文件,或者更简单地执行“chsh”(这意味着:“更改登录 shell”):

$ chsh

它会询问您的密码,然后会询问您要使用的 shell,只需输入“/bin/bash”即可。

完成。要将更改应用于所有程序,只需注销并再次登录。

第二级配置属于包含控制台的窗口。我怀疑您使用的是 gnome-terminal(Ubuntu 常用)。如果不是,那么它可能是 konsole(用于 KDE 桌面)。在其中任何一个中,检查配置是否未设置为调用“tcsh”。如果需要,请说出您使用哪个控制台/终端来提供提示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 2021-12-02
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多