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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/417014.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux---文件(2)---文件描述符缓冲区(语言级)

目录 文件描述符 基础知识 文件描述符 对“Linux一切皆文件”的理解 文件描述符分配规则 缓冲区 刷新策略 存放位置 解释一个"奇怪的现象" 格式化输入输出 文件描述符 基础知识 在系统层面上,文件操作都是通过文件描述符来操作的。 程序在启…

leetcode回文链表

leetcode 回文链表 题目 题解 两种方式进行题解 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, Li…

JavaWeb JavaScript 9.正则表达式

生命的价值在于你能够镇静而又激动的欣赏这过程的美丽与悲壮 —— 24.8.31 一、正则表达式简介 正则表达式是描述字符模式的对象。正则表达式用简单的API对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。 1.语法 var pattnew RegExp(pattern,modi…

DataWorks数据质量监控方案

背景 日常的调度监控,可以查看实例任务的运行情况,对运行失败的实例进行告警,但是却无法对运行成功的实例进行数据质量的判断。而有些情况下,即使实例任务运行成功了,数据也仍然存在问题,这时候就需要对数…

uniapp / uniapp x UI 组件库推荐大全

在 uniapp 开发中,我们大多数都会使用到第三方UI 组件库,提起 uniapp 的UI组件库,我们最常使用的应该就是uview了吧,但是随着日益增长的需求,uview 在某些情况下已经不在满足于我们的一些开发需求,尽管它目…

第66期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

DOCKER(国内镜像源,安装相关微服务组件,py以及jar包的docker打包(上传私有云以及输出本地文件))

前言 之前单独在旧的帖子下面更新的时候,码字码了1000多字的时候电脑蓝了,重启什么东西都没有,我红了。平台上面的自动保存是针对新文章的。 这周因为隔壁有项目要验收了,我的好大哥就把我派过去配合赶进度了,还体验了…

java fastxml json 科学计数法转换处理

背景: 由于 canal 切换为 tx dbbridge后,发现dbbridge对于canal的兼容性存在较大问题,从而引发 该文档的实践。 就目前发现 dbbrige 的字段 大小写 和 数据类型格式 从binlog 写入kafka 同canal 都会存在差异。 canal之前导出都是小写&…

【ArcGIS/GeoScenePro】Portal和Server关系

简介 以下是ArcGIS的整体架构图 上图简化后 从图中我们可以看出可以将其分为三层其中: 最上层:应用层 中间层(门户):连接应用层和服务器,对server上发布的服务进行管理、分享和权限分配 最低层:服务器(Server层) 其中Enterprise = portal(中间层)+server(最底…

Tomato靶场渗透测试

1.扫描靶机地址 可以使用nmap进行扫描 由于我这已经知道靶机地址 这里就不扫描了 2.打开网站 3.进行目录扫描 dirb http://172.16.1.113 发现有一个antibot_image目录 4.访问这个目录 可以看到有一个info.php 5.查看页面源代码 可以发现可以进行get传参 6.…

3. GIS后端工程师岗位职责、技术要求和常见面试题

本系列文章目录: 1. GIS开发工程师岗位职责、技术要求和常见面试题 2. GIS数据工程师岗位职责、技术要求和常见面试题 3. GIS后端工程师岗位职责、技术要求和常见面试题 4. GIS前端工程师岗位职责、技术要求和常见面试题 5. GIS工程师岗位职责、技术要求和常见面试…

表连接查询之两个left join与递归SQL

一、如下SQL1 SELECT i.*,su1.name as createName,su2.name as updateNameFROM information ileft join sys_user su1 on su1.idi.create_idleft join sys_user su2 on su2.idi.update_id 二、分析 1、SELECT i.*,su.name as createName,sua.name as updateName FROM informati…

深度学习特征提取魔改版太强了!发文香饽饽!

要说CV领域经久不衰的研究热点,特征提取可以占一席,毕竟SLAM、三维重建等重要应用的底层都离不开它。 再加上近几年深度学习兴起,用深度学习做特征提取逐渐成了主流,比传统算法无论是性能、准确性还是效率都更胜一筹。 目前比较…

汽车制造商设备运维案例

汽车产线有很多传动设备需要长期在线运行,会出现老化、疲劳、磨损等问题,为了避免意外停机造成损失,需要加装一些健康监测设备,监测设备运行状态。天津三石峰科技采用无线温振传感器汇聚网关方案,将现场设备数据数据上…

linux~~目录结构远程登录教程(xshell+xftp)

目录 1.目录结构 2.远程登录xshell 2.1所需工具 2.2了解虚拟机IP 2.3查看是否正常连接 2.4xshell进行连接 3.文件传输xftp7 3.1xftp6安装 3.2相关设置 3.3效果展示 3.4文件之间的传输过程 1.目录结构 bin目录里面主要存放这个我们经常使用的指令,例如这个…

科研绘图系列:R语言PCoA图(PCoA plot)

介绍 PCoA(主坐标分析,Principal Coordinate Analysis)是一种多维数据的降维技术,它用于探索高维空间中样本之间的关系。PCoA通常用于生态学、遗传学和其他领域的数据分析,以揭示样本或个体之间的相似性或差异性。 PCoA图的作用: 数据降维:PCoA可以将高维数据(如物种…

RKNPU2从入门到实践 ---- 【8】借助 RKNN Toolkit lite2 在RK3588开发板上部署RKNN模型

前言 作者使用的平台为Ubuntu20.04虚拟系统,开发板为瑞芯微RK3588,开发板上的系统为Ubuntu22.04系统。 一、任务 完成RKNN模型的部署,RKNN模型的部署是将RKNN模型放到开发板上,应用程序可以加载RKNN模型,从而在嵌入式…

Markdown 语法大全详解

Markdown 语法大全详解 Markdown是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版。它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML、PDF 以及本身的 .md 格式的文件。因简洁、高效、易读、易…

Node.js模块系统

大家好呀,今天我们来认识以下Node.js的模块系统。 模块系统 目录 模块系统 node项目 创建一个完整的node项目 模块之间的引用 模块的导入 模块的分类 核心模块的引用 获取模块的导出对象 小结 node项目 一个node项目,单有JS文件是不行的&#xff…

Linux操作系统中的进程查看与进程调度

一.进程查看 什么是进程? 进程 process 计算机执行任务的最小单位,在计算机上运行一个应用软件可能会产生多个进程, 二.进程查看——ps -aux ps命令查看进程 如上图所示,是ps命令加上aux选项产生的结果,其作用是…