Linux下快速判断当前终端使用的是bash or csh

在Linux下设置环境变量的时候,可能你也遇到过export: Command not found一类的错误。这是因为当前终端使用的不是bash,如何快速判断当前终端使用的是哪种类型的shell呢?

echo $0判断shell类型

最简单的方法就是在终端输入echo $0,根据回显结果来判断。
注意:是$0 (数字0, 不是字母o)

如果输出的内容带有bash,则表示你使用的是bash;

如果输出的内容带有csh,则表示你使用的是csh。

看下面的例子:

默认使用的是bash,输入echo $0看回显结果

现在输入csh切换到cshell环境,再输入echo $0查看回显

cshell环境下,使用setenv命令设置环境变量;‌bash中则使用export命令‌。

再尝试切换到tcsh,输入echo $0查看回显

tcsh也是csh的一种,所以也可以使用setenv命令。

bash和csh的差异

bash和csh的差异主要体现在以下几个方面:‌

1‌.语法结构‌:‌csh的语法类似于C语言,‌支持类似于C语言的控制结构和变量引用;‌而bash的语法更接近于传统的Bourne shell,‌更加灵活且易于理解‌。
‌2.变量设置‌:‌csh设置变量时使用set命令,‌如set a=100,=两边有无空格都可;‌bash设置变量时不需要set命令直接a=100即可,‌且=号两边必须无空格‌。
‌3.环境变量设置‌:‌csh使用setenv命令设置环境变量;‌bash则使用export命令‌。
‌4.脚本兼容性‌:‌由于语法和功能的差异,‌csh和bash的脚本不一定完全兼容,‌迁移脚本时可能需要进行修改和调整‌。
5.条件语句:csh使用if / endif来写条件语句,而bash中使用if /then /fi。

相关推荐
wdfk_prog14 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
七夜zippoe14 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
盟接之桥14 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
忆~遂愿15 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
湘-枫叶情缘15 小时前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Fcy64816 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满16 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠16 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio16 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice16 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习