我在使用某些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功能?
问题是您的终端首选项。 您的终端正在调用bintcsh而不是默认的Shell,因为您已对其进行了配置。 删除该配置设置,它应该调用bash。 (并且您还没有告诉我们您使用什么终端程序,所以我不能告诉您如何使用。)
我怀疑您已经设置了/ bin / bash,但是如果没有的话可以帮助您更改它:
用户的默认外壳程序通常在/ etc / passwd中设置。
您可以通过执行以下操作来查看为您设置的设置:
grep"user" /etc/passwd
用户是系统中您的用户名。最后一个值(在最后一个":"之后)是要使用的外壳程序集的值。您可以通过两种方式更改它,或者通过编辑文件,或者通过执行" chsh"(这意味着:"更改登录外壳")来简化:
$chsh
它将询问您的密码,然后询问您要使用的shell,只需输入" / bin / bash"即可。
做完了要将更改应用于所有程序,只需注销并再次登录。
第二级配置属于包含控制台的窗口。我怀疑您使用的是gnome-terminal(对于Ubuntu来说通常如此)。如果不是,则可能是konsole(对于KDE桌面)。在任何一种情况下,请检查配置是否未设置为调用" tcsh"。说出您需要使用哪个控制台/终端来提示。