linux Ubuntu将默认bash修改为csh

article/2025/9/21 23:38:51

Ubuntu将默认bash修改为csh

  • 前言
  • Linux系统中的shell版本问题
  • 修改方法
  • 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


http://chatgpt.dhexx.cn/article/GDxUWdJr.shtml

相关文章

配置你的 csh/tcsh

配置你的 csh/tcsh 选择 csh/tcsh 和许多刚从 Linux 转到 BSD 的人不同,我并没有装完 BSD 就顺手安装 bash,因为之前除了打命令,我没有用到额外的功能,bash 也好,csh 也罢,在我眼里都是当做 shell 来用。但…

bash 和 tcsh(csh)的不同,带例子

我使用bash和tcsh(csh)过程中总结出的一些异同,附我的彩色的提示行配置 效果: 自做的彩色提示符 bash PS1 命令提示符 ## PS1\[\033[01;33m\][\D{%y-%m-%d} \t]\[\033[00m\]\[\033[01;32m\][\!]\[\033[00m\]${debian_chroot:($debian_chroot)}\[\03…

Bash与Csh的区别

zz :http://dangdanding.blog.163.com/blog/static/27992981201262595221896/ 一、csh的while循环控制结构及if then: #!/bin/csh -f while ($#argv > 1) if ("$1" "-s") then shift if ($#argv > 1) then set source …

CSH脚本学习

CSH脚本学习笔记(不常见的命令用法) csh中的 > ! 命令与bash中的> 和>| 命令相同,都是写入文件内容。但在bash中表示没有文件则不创建文件。 foreach var ( list ) command end 是CSH脚本中的循环命令,将list的值逐一赋值给变量var…

Shell编程之Csh和Bash的经验总结

文章目录 前言1. 变量和环境变量设置1. csh2. bash 2. if语句1. csh2. bash 3. while循环1. csh2. bash 4. 数组1. csh2. bash 5. 获取当前文件路径1. csh2. bash 6. 获取当前时间1. csh2. bash 7. 产生随机数并测试1. csh2. bash 8. 补充1. 查看系统默认用的 Shell2. 查看系统…

矩阵转置基本性质

一个矩阵的转置与本身相乘得到对称矩阵 一个矩阵的逆矩阵与本身相乘得到单位矩阵 行列式不等于零,矩阵可逆,反之不可逆 满秩矩阵一定是可逆的

Maple: 矩阵转置

在Maple中用%T的命令执行矩阵转置,具体效果如下

5*5矩阵转置

编写程序:对一个5X5的二维整型数组转置,即行列互换。 要求从键盘输入数组的值,输出转置前及转置后的结果。 如: 输入格式: 输入数组前有如图示的提示; 输出格式: 输出转置前及转置后的结果,输出前有提示…

矩阵转置输出

输入样例 3 2 1 2 3 4 5 6 #include<stdio.h> int main() {int m,n;int a[15][15]{0};//二维数组int i,j;scanf("%d %d",&m,&n);for(i0;i<m;i)for(j0;j<n;j)scanf("%d",&a[i][j]);//先全部输入再进行其他操作for(i0;i<m;i){for…

c语言函数矩阵转置代码,C语言实现矩阵转置

讲解对象&#xff1a;C语言实现矩阵转置 作者&#xff1a;融水公子 rsgz 1随机函数生成矩阵 #include #include #include int main(){ int i,j; int a[5][3]; printf("生成矩阵:\n"); //srand(time(NULL)); for(i0;i<5;i){ for(j0;j<3;j){ a[i][j]rand()%20; }…

vue报错:Failed to resolve directive: modle

问题原因&#xff1a;我把model写成了modle

[Vue warn]: Failed to resolve directive: modle (found in ComponentA)

报错原因&#xff1a;单词拼写错误 解决方法&#xff1a;检查是否将model写成了modle 温馨提示&#xff1a;编写代码要细心且严谨&#xff08;这已经是我第二次犯类似的错误了&#xff09;

Proteus找不到模型文件 Could not find the modle file

这一部分和你Proteus的文件夹地址一样 这些也要一样 且安装路径需要选择英文路径 同理 最后再用管理员模式打开一下就可以了。。。&#xff08;这些都是弱智问题&#xff09;&#xff08;我是弱智&#xff09;

Vue:解决[Vue warn]: Failed to resolve directive: modle (found in Anonymous)

解决问题 [Vue warn]: Failed to resolve directive: modle (found in <ComponentA>) console.error(("[Vue warn]: " msg trace)); 原因是 我把model 写成了 modle 这类错误一般是单词写错了 (found in <Anonymous>) 解决思路

modle bulinder 实践1.Excel坐标转面

1.结果&#xff1a; 1.工具放在内存里可以加快运行速度 2.步骤 a.Excel转表工具 b.创建XY事件图层&#xff08;选用投影坐标系--高斯克吕格-CGCS2000-34坐标系&#xff09; c.筛选工具<生成的是临时表&#xff1b;点转线需要真实存在的表&#xff1b;故进行筛选&#xf…

vue v-modle修饰符.number .trim

语法糖&#xff1a; 在不影响功能的情况下&#xff0c;添加某种方法实现同样的效果&#xff0c;从而方便程序开发。 .number&#xff1a;可以将输入转换成Number类型&#xff0c;否则虽然输入的是数字&#xff0c;但它的类型其实是String。 .trim&#xff1a;自动过滤输入的首尾…

Android Studio 导入modle是提示名称已存在

最近在做项目的时候&#xff0c;使用到别人的东西&#xff0c;就引入的相应的Modle&#xff0c;引入成功后。第二天打开项目的时候发现前一天引入的Modle不见了&#xff0c;再次引入的时候提示该Modle的名称已经存在&#xff1b;我查理一下资料解决方法如下&#xff1a; 其实Mo…

Action层, Service层 ,modle层 和 Dao层详解

一、SSH架构最基本的分层方式&#xff1a; modle层&#xff1a;就是对应的数据库表的实体类&#xff0c;即将现实对象抽象成类。 Dao层&#xff1a;是使用了Hibernate连接数据库、操作数据库&#xff08;增删改查&#xff09;和model层。 Service层&#xff1a;引用对应的Dao数…

AndroidStudio如何删除Modle

1、 2、 3、编译之后就可以了