linux Ubuntu将默认bash修改为csh


前言

   
   为什么要将默认bash修改为csh,有时候安装的软件命令是基于csh写的,如果用bash使用软件就会报错,如:“No command ‘setenv’ found”,此时需要将Ubuntu默认的bash改为csh
   

Linux系统中的shell版本问题

   
   Bourne Shell(即sh)是UNIX最初的shell,在shell编程方便相当优秀,但在与用户的交互方面不如其他shell。
   LinuxOS默认的是Bourne Again Shell,简称bash。它是Bourne Shell的扩展,增加了命令补全,命令编辑和命令历史等功能。它还包含了很多C Shell和KornShell中的优点,同时又很友好的用户界面
   C Shell是一种比Bourne Shell更适合的变种Shell,它的语法与C语言很相似。
   Tcsh是CShell的一个扩展版本。Tcsh包括命令行编辑,可编程单词补全,拼写校正,历史命令替换,作业控制和类似C语言的语法,提供比Bash Shell更多的提示符参数。
   Korn Shell集合了C Shell和Bourne Shell的优点,并且完全兼容BourneShell。
   Linux提供了pdksh(ksh的扩展),它支持人物控制,可以在命令行上挂起,后台执行,唤醒或终止程序。Linux还提供了一些流行的Shell如:ash,zsh等。

修改方法

1、可以通过命令:echo $SHELL(注意大写)来查看自己的系统当前使用的是什么类型的shell)
2、查阅系统存在的bash,使用命令:cat /etc/shells
3、发现系统默认没有csh所以没办法切换,所以要先下载一个csh,下载方法可以参考我前面写文章——Ubuntu用apt-get下载csh
4、下载好之后,就可以将bash切换为csh了,此时再检查shell类型,发现变成csh了,详细见下文。

bash切换csh方法

前提是已经下载好了csh

方法一:
首先:进入root模式:sudo -s
然后:chsh(如果发现提示chsh: PAM: Authentication failure,可以退出root再试一次chsh就可以了)
输入:/bin/csh
最后重启Ubuntu,打开终端,输入# echo $SHELL
返回s“/bin/csh”,说明SHELL修改成功。

方法二:
输入:sudo nano /etc/passwd
然后将这个位置的csh手动改为bash,保存退出(ctrl + X,回车)
最后重启客户端即可
在这里插入图片描述


创作不易,各位读者大大看完留个赞和评论再走吧!求求了~

温馨提示   关注不容易让文章走丢哦~


其他linux内容整理见:https://blog.csdn.net/weixin_45386875/article/details/116308755

Guess you like

Origin blog.csdn.net/weixin_45386875/article/details/116231811