Bash、sh 和 Shell都弄混了?
在Linux和Unix系统中,Bash、sh 和 Shell 都与命令行解释器相关,但它们各自的含义和作用略有不同。以下是它们之间的关系和区别:
Shell
Shell 是一个通用术语,指的是操作系统中负责解释和执行用户命令的程序。它是用户与操作系统核心(Kernel)之间的接口。用户通过Shell来执行命令、启动程序、管理文件等。Shell可以是图形化的,也可以是文本模式的。在Linux和Unix系统中,Shell通常指的是一种命令行接口(CLI),用户通过输入命令来操作系统。
Shell有多种实现,常见的包括:
- sh(Bourne Shell)
- bash(Bourne Again Shell)
- csh(C Shell)
- ksh(Korn Shell)
- zsh 等
sh(Bourne Shell)
sh 是早期Unix系统中的一种Shell,全称为 Bourne Shell,由贝尔实验室的Stephen Bourne在1979年开发。它是最早的标准Shell,也是许多Shell的基础。sh 提供了基本的Shell脚本功能,并成为了POSIX标准的一个基础,因此在许多Unix系统中,sh 常被认为是Shell脚本的通用标准。
sh 通常被用于编写脚本,尤其是希望在不同Unix系统上保持兼容性的脚本,因为它的功能简单而通用。
Bash(Bourne Again Shell)
Bash 是 Bourne Again Shell 的缩写,它是 GNU 项目在Bourne Shell(sh)的基础上开发的改进版。Bash继承了sh的所有功能,并增加了许多增强功能,例如:
- 命令历史记录:可以使用上下箭头键来翻阅之前输入的命令。
- 命令补全:可以用Tab键自动补全命令和文件名。
- 更强大的脚本功能:支持更多的数据结构和语法功能,如数组等。
- 丰富的内建命令 和 更友好的错误提示。
Bash 是目前Linux系统中默认的Shell,几乎所有的Linux发行版都预装了Bash。大多数Linux用户默认使用Bash作为命令行界面,因此Bash也是学习Shell编程的常见工具。
sh 和 Bash 的关系
- 在很多系统中,/bin/sh 实际上是指向 /bin/bash 或其他兼容
sh语法的Shell。因此在这种系统上,执行sh命令实际上是运行了 Bash 兼容模式,虽然它会禁用一些Bash特性以保持与标准sh的兼容性。 - 兼容性:因为
sh是POSIX标准Shell的基础,使用sh编写的脚本更具跨平台性。但Bash提供了更多的功能和语法,因此在编写复杂脚本时通常选择Bash。
总结一下~
- Shell:一种命令行解释器,包含了各种类型(如 sh、bash、csh 等)。
- sh(Bourne Shell):早期的标准Shell,功能简单,适合编写兼容性要求高的脚本。
- Bash(Bourne Again Shell):sh的增强版,是Linux系统中的默认Shell,提供了更丰富的功能和命令。
在Linux中,用户通常使用的是 Bash,而 sh 通常用于保持与旧脚本和其他Unix系统的兼容性。
相关文章:
Bash、sh 和 Shell都弄混了?
在Linux和Unix系统中,Bash、sh 和 Shell 都与命令行解释器相关,但它们各自的含义和作用略有不同。以下是它们之间的关系和区别: Shell Shell 是一个通用术语,指的是操作系统中负责解释和执行用户命令的程序。它是用户与操作系统…...
架构师备考专栏-导航页
简介 架构师备考专栏——软考系统架构师考试的学习宝典,集合了全面覆盖架构师考试大纲的精华文章。每篇文章都为本人手输,并校对数遍后发表,在此我保障每篇文章的质量绝对过关。诚邀对架构师软考感兴趣的朋友们收藏此页面,并根据个人所需高效…...
STM32-Cube定时器TIM
一、内部时钟源 1、创建项目 File → New → STM32 project选择STM32F103C8T6单片机,命名TIM 2、配置单片机 1.打开USART1,方便我们与电脑连接查看数据 开启UART1并开启中断。 2、设置时钟源 开启外部高速晶振 将时钟频率设置为72MHz 设置调试模…...
Webpack 是什么? 解决了什么问题? 核心流程是什么?
在前端开发中,Webpack 无疑是一个举足轻重的工具。它作为一个静态资源打包工具,能够帮助开发者将项目中的各种资源高效整合,以便于在浏览器中加载和执行。本文将深入探讨 Webpack 的核心功能、解决的问题以及 Webpack的核心流程。 Webpack是什…...
Jenkins面试整理-Jenkins 的主要用途是什么?
Jenkins 的主要用途 是在软件开发流程中实现自动化,尤其是在持续集成(CI)和持续交付/部署(CD)中。具体来说,Jenkins 的主要用途包括: 1. 持续集成(CI): ● Jenkins 自动从版本控制系统(如 Git、SVN)中拉取代码,自动化地编译、构建和测试代码。 ● 每当开发人员提…...
Linux下使用C/C++进行UDP网络编程
UDP 是User Datagram Protocol 的简称,中文名是用户数据报协议,是一种无连接、不可靠的协议,同样它也是工作在传顺层。它只是简单地实现从一端主机到另一端主机的数据传输功能,这些数据通过 IP 层发送,在网络中传输&am…...
【JavaEE初阶】网络原理—关于TCP协议值滑动窗口与流量控制,进来看看吧!!!
前言 🌟🌟本期讲解关于TCP协议的重要的机制“连接的建立和断开”~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 …...
无人机避障——使用三维PCD点云生成的2D栅格地图PGM做路径规划
着重介绍通过对三维 PCD 点云进行处理生成 2D 栅格地图 PGM,而后将该 PGM 地图充分运用到无人系统路径规划之中,使得无人机能够依据此规划合理避开飞行路线上可能出现的障碍物。(解决如何使用PGM的问题) Hybrid A*算法 参考博客…...
supermall项目上拉加载bug分析
1.bug分析 bug出现的过程是这样的:better-scroll框架会计算滚动内容的高度(通过BScroll对象的scrollerHeight属性记录滚动内容的高度) 由于内容中的图片资源还未加载成功 就已经完成计算 导致计算结果错误 而计算之后 图片资源随之加载完成 这时候better-scroll框架…...
【linux网络编程】| socket套接字 | 实现UDP协议聊天室
前言:本节内容将带友友们实现一个UDP协议的聊天室。 主要原理是客户端发送数据给服务端。 服务端将数据再转发给所有链接服务端的客户端。 所以, 我们主要就是要实现客户端以及服务端的逻辑代码。 那么, 接下来开始我们的学习吧。 ps:本节内容…...
第二届开放原子大赛-开源工业软件算法集成大赛即将启动!
第二届开放原子大赛-开源工业软件算法集成大赛作为开放原子开源基金会组织举办的开源技术领域专业赛事,聚焦开源底座框架平台建设,通过组件化集成的开发模式,丰富平台功能模块,拓展其应用场景,以此促进工业软件生态的繁…...
PXC集群(Percona XtraDB Cluster )
一、简介 基于Galera Cluster技术的开源分布式数据库解决方案,它允许你在多个MySQL服务器之间创建一个同步的多主复制集群。 特点: * 多主复制架构: PXC集群支持多主复制,每个节点都可以同时读写数据,这使得应用程序可以更灵活地进行负载均衡和高可用性设置。* 同步复制:…...
分布式光伏是什么意思?如何高效管理?
分布式光伏系统是指在用户现场或靠近用电现场配置较小的光伏发电供电系统,以满足特定用户的需求。根据通知,分布式光伏系统主要有以下几类定义: 10kV以下电压等级接入,且单个并网点总装机容量不超过6MW的分布式电源:这…...
提问GPT
1 理解GPT AI模型即采用深度学习技术的人工神经网络。 你不会被AI取代,而是会被熟练运用AI的人取代 1.1 问答或对话是普通用户与这一轮新AI产品的典型交互方式。 GPT生成式预训练转换器 了解当前GPT产品的形式: 通用聊天机器人…...
李飞飞团队新突破:低成本高泛化机器人训练法,零样本迁移成功率90%!
在机器人训练中,如何高效地利用模拟环境一直是研究者们关注的重点问题。 近日,美国斯坦福大学李飞飞教授团队提出了一种突破性的“数字表亲”(digital cousins)概念。这一创新方法既保留了数字孪生的优势,又大大降低了…...
PHP内存马:不死马
内存马概念 内存马是无文件攻击的一种常用手段,利用中间件的进程执行某些恶意代码。首先要讲的是PHP不死马,实质上就是直接用代码弄一个死循环,强占一个 PHP 进程,并不间断的写一个PHP shell,或者执行一段代码。 不死…...
【python】OpenCV—Connected Components
文章目录 1、任务描述2、代码实现3、完整代码4、结果展示5、涉及到的库函数6、参考 1、任务描述 基于 python opencv 的连通分量标记和分析函数,分割车牌中的数字、号码、分隔符 cv2.connectedComponentscv2.connectedComponentsWithStatscv2.connectedComponents…...
【优选算法篇】前缀之序,后缀之章:于数列深处邂逅算法的光与影
文章目录 C 前缀和详解:基础题解与思维分析前言第一章:前缀和基础应用1.1 一维前缀和模板题解法(前缀和)图解分析C代码实现易错点提示代码解读题目解析总结 1.2 二维前缀和模板题解法(二维前缀和)图解分析C…...
win10 更新npm 和 node
win10 更新npm 和 node win10 更新 npm winR 输入cmd,打开命令行,并输入如下 # 查看当前npm版本 npm -v # 清缓存 npm cache clean --force # 强制更新npm,试过npm update -g,没起作用,版本没变化 npm install -g …...
搜索引擎算法更新对网站优化的影响与应对策略
内容概要 随着互联网的不断发展,搜索引擎算法也在不断地进行更新和优化。了解这些算法更新的背景与意义,对于网站管理者和优化人员而言,具有重要的指导意义。不仅因为算法更新可能影响到网站的排名,还因为这些变化也可能为网站带…...
2026论文降重神器盘点!毕业论文“AIGC痕迹”怎么破?
【CSDN技术引言:拒绝“开源背调”式的学术翻车】 哈喽各位同行和科研圈的战友们。最近后台私信快炸了,今年这届硕博生仿佛遭遇了“灭顶之灾”。某985高校前天出炉的抽检结果直接把大家看傻了:明明自己逐字逐句手敲的论文,知网查重…...
Windows下OpenClaw全流程指南:GLM-4.7-Flash模型接入与自动化测试
Windows下OpenClaw全流程指南:GLM-4.7-Flash模型接入与自动化测试 1. 为什么选择OpenClawGLM-4.7-Flash组合 去年我在处理一个Python数据分析项目时,每天要重复执行十几个脚本并整理结果。当我第三次因为手工操作失误导致数据错乱后,终于决…...
植物大战僵尸修改工具实战指南:从入门到精通
植物大战僵尸修改工具实战指南:从入门到精通 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 认知阶段:工具核心价值与基础架构 工具定位与适用场景 植物大战僵尸修改工具是…...
如何5分钟快速安装Ghidra:新手逆向工程终极指南
如何5分钟快速安装Ghidra:新手逆向工程终极指南 【免费下载链接】ghidra_installer Helper scripts to set up OpenJDK 11 and scale Ghidra for 4K on Ubuntu 18.04 / 18.10 项目地址: https://gitcode.com/gh_mirrors/gh/ghidra_installer Ghidra作为美国国…...
使用Perfetto进行Settings中网络热点开启后anr分析的整体流程记录
目录 一.背景 二.Perfetto使用流程 阶段一:抓取 Perfetto Trace 文件 1. 指令核心解析 2. 数据源功能详解 (这些是抓取的“维度”) 3. 该指令的作用场景 阶段二:导入并认识 Perfetto UI 面板 1. 致命异常:Duration: (Did not end) 2…...
想入行5G网络优化工程师?这6个求职陷阱你必须知道
5G网络优化工程师由于其入职门槛低,需求高,成为了不少想转行的人关注的岗位。 但对于刚入行的小白来说,求职路上往往布满陷阱。 作为一名行业接触过一些内幕的过来人,总结了6条找工作的核心建议,希望能帮大家少走弯路…...
PX4坐标系全攻略:NED与FRD转换的5个实际应用场景
PX4坐标系实战指南:NED与FRD转换在无人机五大核心场景中的应用 引言 在无人机飞控系统的开发中,坐标系的理解与应用是算法工程师必须跨越的第一道技术门槛。PX4作为目前最主流的开源飞控平台,其采用的NED(North-East-Down…...
02.Linux常用文件操作命令
1.mkdir 目录名:创建目录 mkdir 目录名 mkdir -p a/b/c 创建多级目录 2.touch 创建空文件 touch 文件名 touch 文件名 文件名 创建多个文件 3.文件写入内容 echo写入 覆盖写入 echo 文件内容 >文件名 追加写入(日志必用) echo 文件内容 >…...
嵌入式开发中的静态代码分析工具与应用
嵌入式代码静态分析工具深度解析1. 静态代码分析技术概述1.1 传统编译器的局限性标准C语言编译器通常只能检测代码中的语法错误和部分潜在缺陷,对于程序架构设计和逻辑层面的问题往往无能为力。这种局限性在嵌入式开发中尤为明显,因为嵌入式系统对代码质…...
像素幻梦·创意工坊应用场景:复古风APP启动页加载动画AI生成方案
像素幻梦创意工坊应用场景:复古风APP启动页&加载动画AI生成方案 1. 引言:像素艺术的复兴与AI赋能 在移动应用设计领域,复古像素风格正经历一场文艺复兴。从独立游戏到主流应用,越来越多的产品选择用像素艺术打造独特的品牌识…...
