当前位置: 首页 > article >正文

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.kler.cn/a/291980.html

相关文章:

  • Flink_DataStreamAPI_执行环境
  • 【windows笔记】08-Windows中的各种快捷方式、符号链接、目录联接、硬链接的区别和使用方法
  • centos7 升级openssl 与升级openssh 安装卸载 telnet-server
  • 处理namespace问题:Namespace not specified for AGP 8.0.0
  • Spring:bean的配置
  • SobarQube实现PDF报告导出
  • 操作系统:线程实现方式
  • 【赵渝强老师】MongoDB的存储引擎
  • WorkPlus安全即时通讯:端到端加密开启信息保密新时代
  • [大数据]Debug:常见错误集合
  • 【Python机器学习】NLP词频背后的含义——从词频到主题得分
  • 开源模型应用落地-qwen2-7b-instruct-LoRA微调-ms-swift-单机多卡-RTX 4090双卡(十四)
  • 微信小程序知识点(二)
  • 2024年高教社杯数学建模国赛B题超详细解题思路
  • 【深度学习】softmax 回归的从零开始实现与简洁实现
  • java fastxml json 科学计数法转换处理
  • 《机器学习》—— PCA降维
  • 草料二维码功能上新!可以跨分区移动或复制内容了!
  • 贷款被拒?这些“隐形警报”你可能没注意到!
  • nginx配置直接下载文件
  • volatile
  • 嵌入式OpenHarmony系统的一些特点
  • web笔记:JSP基础
  • 添加配置react组件路由具体步骤参考
  • 利用SSH加密实现的HTTP隧道分析与检测
  • 编译 ffmpeg 以支持AVS格式视频解码与解码