bash和sh的区别

ops/2024/9/20 13:36:28/ 标签: bash, 开发语言, linux

‌Bash和‌sh的主要区别在于它们的交互性、兼容性、默认shell以及脚本执行方式。

首先,Bash提供了更丰富的交互功能,使得它在终端中的使用更加舒适和方便。相比之下,sh由于其最小化的功能集,提供了更广泛的兼容性。然而,在现代环境中,Bash得到了广泛的支持并成为许多‌Linux发行版的默认选择。‌12
在脚本执行方面,以#!/bin/sh开头的脚本使用‌Bourne Shell执行,而#!/bin/bash则表示使用Bash执行。此外,虽然/bin/sh可以符号链接到默认shell,但历史上它经常与更简单的shell联系在一起。在最小或嵌入式系统上,由于bash的尺寸较大,sh或更小的shell可能是首选。
最后,Bash由于其丰富的功能和扩展性,非常适合交互式使用和脚本编写。而sh由于其最小的功能集,提供了更广泛的兼容性。因此,在选择使用bash还是sh时,应根据具体需求来决定。


http://www.ppmy.cn/ops/93799.html

相关文章

裁剪或填充张量(Tensor)(四维与五维)(Python代码)

import torch.nn.functional as F# 将(Batch_Size, Num_Class, Height, Weight)裁剪掉指定的Height和Weight def crop_tensor_by_height_width(tensor, height_crop, width_crop):assert len(tensor.shape) 4, 输入的tensor应为4维assert height_crop > 0 and width_crop &…

PMP和CSPM-2哪个好呀?

建议再观望一段时间,我自己的证书也还没有换。 因为明文规定持有 PMP 证书可以直接免培训增持 CSPM-2 证书(多花600块),懂行的人都知道情况,其实真没什么意义,就是在证书数量上多一个而已。 如果确实想要…

使用Python+moviepy保存截取视频画面

一、 使用VideoFileClip对象的的save_frame函数保存截取的第1帧画面 from moviepy.editor import * mvVideoFileClip(/home/Download/leaves.mp4) mv.save_frame(/home/Download/fst.jpg) # 默认保存截取的第1帧画面 二、 使用VideoFileClip对象的的save_frame函数保存截…

Docker Compose与私有仓库部署

一、Docker Compose工具 1.1什么是Docker Compose Docker Compose 的前身是 Fig,它是一个定义及运行多个 Docker 容器的工具。使用Docker Compose 时,只需要在一个配置文件中定义多个 Docker 容器,然后使用一条命令启 动这些容器。Docker Co…

【算法】梯度下降

一、引言 梯度下降算法(Gradient Descent)是一种一阶迭代优化算法,用于求解最小化目标函数的问题,广泛应用于机器学习和人工智能中的参数优化。 用于优化问题的迭代算法,尤其在机器学习和深度学习中广泛用于最小化损失…

2024有哪些好用的图纸加密软件,10款图纸加密软件排行榜

在信息安全愈加重要的今天,企业和个人都越来越注重图纸及设计文件的安全性。无论是工业设计、建筑设计还是其他涉及机密信息的图纸文件,加密软件都成为了保护知识产权的关键工具。下面,我们将介绍2024年最值得关注的十款图纸加密软件&#xf…

TypeScript学习第十三篇 - 泛型

在编译期间不确定变量的类型,在调用时,由开发者指定具体的类型。 1. 如何给arg参数和函数指定类型? function identity(arg){return arg; }identity(1) identity(jack) identity(true) identity([]) identity(null)定义的时候,无…

C#调用c++的dll方法,动态调用c++dll的方法

文章目录 一、创建c的dll1.新建项目2.删除vs自建的.cpp和.h文件3.新建Algorithm.h和Algorithm.cpp4.编译c1.编译2.解决报错3.再次编译可以看到已经成功。4.查看成功输出的dll。 二、创建c#项目1.创建一个console控制台程序。2.把dll拷贝到c#生成的程序根目录。3.在c#的program.…

【Pyspark-驯化】一文搞懂Pyspark中对json数据处理使用技巧:get_json_object

【Pyspark-驯化】一文搞懂Pyspark中对json数据处理使用技巧:get_json_object 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 …

使用WebSocket实现一个简易的聊天室

我这里的框架是SpringBoot 首先&#xff0c;我们要有一个前端页面 <!DOCTYPE html> <html xmlns:th"http://www.thymeleaf.org"xmlns:layout"http://www.ultraq.net.nz/web/thymeleaf/layout"layout:decorate"layout"> <head&g…

论文分享|MLLMs中多种模态(图像/视频/音频/语音)的tokenizer梳理

本文旨在对任意模态输入-任意模态输出 (X2X) 的LLM的编解码方式进行简单梳理&#xff0c;同时总结一些代表性工作。 注&#xff1a;图像代表Image&#xff0c;视频代表Video&#xff08;不含声音&#xff09;&#xff0c;音频代表 Audio/Music&#xff0c;语音代表Speech 各种…

eBPF编程指南(一):eBPF初体验

1 什么是EBPF&#xff1f; EBPF是一种可以让程序员在内核态执行自己的程序的机制&#xff0c;但是&#xff0c;为了安全起见&#xff0c;无法像内核模块一样随意调用内核的函数&#xff0c;只能调用一些bpf提前定义好的函数。为了让内核执行程序员自己的代码&#xff0c;需要指…

字符串值提取工具-03-java 调用 groovy

值提取系列 值提取系列 字符串值提取工具-01-概览 字符串值提取工具-02-java 调用 js 字符串值提取工具-03-java 调用 groovy 字符串值提取工具-04-java 调用 java? Janino 编译工具 字符串值提取工具-05-java 调用 shell 字符串值提取工具-06-java 调用 python 字符串…

kali-linux 常用命令大集合(目录、文件查看与编辑,登录、电源、帮助等相关命令详解)

目录 目录查看-ls 帮助命令 帮助命令&#xff1a;whatis 帮助命令&#xff1a;help 帮助命令&#xff1a;man 帮助命令&#xff1a;info 登录命令 登录命令&#xff1a;login 登录命令&#xff1a;last 登录命令&#xff1a;exit 切换用户&#xff1a;su/sudo 命令-…

现在画原型都用什么工具?

现在画原型时&#xff0c;Axure是一款广泛使用的工具&#xff0c;尤其在需要高度交互性和逻辑复杂性的项目中&#xff0c;如企业级应用、大型软件项目等&#xff0c;Axure更是首选。 https://ffhog9.axshare.com https://1zvcwx.axshare.com/start.html 以下是对Axure及其优…

全网最最最详细的haproxy详解!!!

1 什么是负载均衡 负载均衡&#xff08;Load Balancing&#xff09;是一种将网络请求或工作负载分散到多个服务器或计算机资源上的技术&#xff0c;以实现优化资源使用、提高系统吞吐量、增强数据冗余和故障容错能力、以及减少响应时间的目的。在分布式系统、云计算环境、Web服…

[C#]实现GRPC通讯的服务端和客户端实例

最近要做两个软件之间消息的通讯&#xff0c;学习了一下GRPC框架的通讯。根据官方资料做了一个实例。 官方资料请参考&#xff1a;Create a .NET Core gRPC client and server in ASP.NET Core | Microsoft Learn 开发平台&#xff1a;Visual Studio 2022 开发前提条件&#x…

微服务部分面试问题(面试篇)

分布式事务 CAP定理 分布式系统有三个指标&#xff1a; Consistency&#xff08;一致性&#xff09; Availability&#xff08;可用性&#xff09; Partition tolerance &#xff08;分区容错性&#xff09; 它们的第一个字母分别是 C、A、P。Eric Brewer认为任何分布式系…

8.6 MySQL

[rootmysql ~]# sed -i $aexport PATH/usr/local/mysql/bin/:$PATH /etc/profile //加到环境变量 [rootmysql ~]# source /etc/profile //使配置环境生效配置开机自启 [rootmysql ~]# chkconfig --list //列举 注&#xff1a;该输出结果只显…

网络编程----TCP/IP协议

使用TCP/IP协议实现客户端和服务器端进行通信: 1.服务器端(test1.c): #include <sys/socket.h> #include <sys/types.h> #include <arpa/inet.h> #include <stdio.h> #include <unistd.h>// 创建服务器端 int main() {//1.创建套接字int serfd…