linux - 从 tcsh 更改为 bash?

标签 linux bash shell profile dash-shell

<分区>

我在使用某些 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

最佳答案

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

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

grep "user" /etc/passwd

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

$ chsh

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

完成。要使更改应用于所有程序,只需注销并重新登录即可。

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

关于linux - 从 tcsh 更改为 bash?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34371466/

相关文章:

php - PHP 中秒到分钟的转换

linux - 无法将 awk 命令的输出存储到变量中

Linux bash 脚本文件连接

bash - 为什么将变量标记为只读会掩盖 bash 中的退出状态?

c++ - 在C++中捕获shell脚本退出状态

linux - 如何使用sed修改文件内容

linux - bash 删除旧文件

linux - 如何知道 Linux 中终端的确切名称?

linux - 无法通过 pgrep 或 ps -grep 找到在后台运行的 shell 脚本

c - 如何实现历史记录功能?