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

【Bash】重点总结

文章目录

  • 1. 总体认识
    • 1.1. Shell概述
    • 1.2. 第一个Shell脚本
  • 2. 变量
    • 2.1. 定义变量
    • 2.2. 使用变量
    • 2.3. 只读变量
    • 2.4. 删除变量
    • 2.5. 变量类型
      • 2.5.1. 字符串变量

1. 总体认识

1.1. Shell概述

  • Shell是一个用C语言编写的程序,这个程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
  • Shell既是一种命令语言,又是一种解释型的程序设计语言
  • Shell脚本(shell script),是一种为shell编写的脚本程序
  • Shell编程只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
  • Linux的Shell种类众多,常用的有Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)等等,其中Bourne Again Shell是Bourne Shell的增强版本,兼容性更好,且提供了更多的特性和功能。由于易用和免费,Bash是大多数Linux系统默认的Shell

1.2. 第一个Shell脚本

  • 文件名:test.sh
    #!/bin/bash
    echo "Hello World!"
    
    • shell脚本名:*.sh
    • 第一行使用#!指定解释器路径。
    • 第二行echo语句的作用是在终端显示指定内容。
  • 运行Shell脚本
    • 作为可执行程序
    chmod +x ./test.sh  # 使脚本具有执行权限
    ./test.sh  			# 执行脚本
    
    • 作为解释器参数
    bash test.sh
    

2. 变量

变量是存储的数据值的名称

2.1. 定义变量

variable=value
  • 注意:变量名和等号之间不能有空格
  • 变量命名要求:
    • 只由字母、数字和下划线组成,不能以数字开头。
    • 避免使用Shell关键字。
    • 习惯上,常量的变量名通常使用大写字母

2.2. 使用变量

variable=value
echo $variable
echo ${variable}
  • 变量名外面的花括号是可选的,加花括号是为了帮助解释器识别变量的边界
  • 已定义的变量,可以被重新定义
    variable=value1
    echo $variable
    variable=value2
    echo $variable
    

2.3. 只读变量

variable=value
readonly variable

2.4. 删除变量

variable=value
unset variable
  • 变量被删除后不能再次使用。
  • unset 命令不能删除只读变量。

2.5. 变量类型

2.5.1. 字符串变量

str1=hello
str2='hello'
str3="hello"
  • 变量通常被视为字符串。
  • 可以使用单引号 ’ 或双引号 " 来定义字符串
    • 成对的单引号之间不能进行变量值的替换

相关文章:

【Bash】重点总结

文章目录 1. 总体认识1.1. Shell概述1.2. 第一个Shell脚本 2. 变量2.1. 定义变量2.2. 使用变量2.3. 只读变量2.4. 删除变量2.5. 变量类型2.5.1. 字符串变量 1. 总体认识 1.1. Shell概述 Shell是一个用C语言编写的程序,这个程序提供了一个界面,用户通过…...

Git安装和使用教程,并以gitee为例实现远程连接远程仓库

文章目录 1、Git简介及安装2、使用方法2.1、Git的启动与配置2.2、基本操作2.2.1、搭建自己的workspace2.2.2、git add2.2.3、git commit2.2.4、忽略某些文件不予提交2.2.5、以gitee为例实现git连接gitee远程仓库来托管代码 1、Git简介及安装 版本控制(Revision cont…...

Hadoop入门学习笔记——一、VMware准备Linux虚拟机

视频课程地址:https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接:https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 Hadoop入门学习笔记(汇总) 目录 一、VMware准备Linux虚拟机1.1. VMware安装Linux虚拟机1.…...

CSS3新增特性

CSS3 CSS3私有前缀 W3C 标准所提出的某个CSS 特性,在被浏览器正式支持之前,浏览器厂商会根据浏览器的内核,使用私有前缀来测试该 CSS 特性,在浏览器正式支持该 CSS 特性后,就不需要私有前缀了。 查询 CSS3 兼容性的网…...

Unity中Shader观察空间推导

文章目录 前言一、本地空间怎么转化到观察空间二、怎么得到观察空间的基向量1、Z轴向量2、假设 观察空间的 Y~假设~ (0,1,0)3、X Y 与 Z 的叉积4、Y X 与 Z 的叉积 三、求 [V~world~]^T^1、求V~world~2、求[V~world~]^T^ 四、求出最后在Unity中使用的公式1、偏移坐标轴2、把…...

信息学奥赛一本通2034:【例5.1】反序输出

2034:【例5.1】反序输出 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 79280 通过数: 35643 【题目描述】 输入nn个数,要求程序按输入时的逆序把这nn个数打印出来,已知整数不超过100100个。也就是说,按输入相反顺序打印这nn个…...

使用教程之【SkyWant.[2304]】路由器操作系统,破解移动【Netkeeper】校园网【小白篇】

许多高校目前饱受Netkeeper认证的痛苦,普通路由器无法使用, 教你利用SkyWant的Netkeeper认证软件来使你的SkyWant路由器顺利认证上网,全宿舍又可以合作共赢了! 步骤一:正确连接网线,插电开机 正确连接网…...

模式识别与机器学习(十):梯度提升树

1.原理 提升方法实际采用加法模型(即基函数的线性组合)与前向分步算法。以决策树为基函数的提升方法称为提升树(boosting tree)。对分类问题决策树是二叉分类树,对回归问题决策树是二叉回归树。提升树模型可以表示为决…...

《剑指offer》Java版--12.矩阵中的路径(DFS+剪枝)

剑指offer原题:矩阵中的路径 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再…...

AI智能体的介绍

最近几个月 随着大语言模型的持续火爆 利用大模型来构建AI智能体的研究呢 也陆续进入了人们的视野 AI智能体这个概念呢 也逐渐的流行开来 先是斯坦福大学谷歌的研究者们 成功的构建了一个虚拟小镇 小镇上的居民呢不再是人 而是25个AI的智能体 他们的行为呢 比人类角…...

Java设计模式-单例模式(Singleton)

Java中实现单例模式有几种不同的方式,每种方式都有其特点和适用场景。下面是两种常用的实现方式:懒汉式和饿汉式。 懒汉式(线程安全) 懒汉式单例是指在第一次被引用时才会创建实例。为了确保线程安全,可以使用同步方法或同步块。 public class SingletonLazy {private sta…...

若依vue如何展示一个HTML页面(或者展示Markdown文档)

一. 前言 ⚠ 本文是展示Markdown的方法,不能直接前端编辑Markdown文档. 二. 准备部分 用Typora编辑器打开需要导出html页面,我这里使用Typora来导出 1. 先将md文件导出成html 2. 将导出好的文件放在若依vue的pubilc下(文件可以是中文) 三. 代码部分 1.使用v-html来展示HT…...

优化for循环(js的问题)

性能优化 var array [];for (let index 0; index < array.length; index) {// do something }// 优化后 for (let index 0, len array.length; index < len; index) {// do something } 算法优化 // 求和&#xff1a;1 2 3 4 ... 100 var sum 0; for (let i …...

如何更好的去理解源码

前言 这篇文章我准备来聊一聊如何去阅读开源项目的源码。 在聊如何去阅读源码之前&#xff0c;先来简单说一下为什么要去阅读源码&#xff0c;大致可分为以下几点原因&#xff1a; 最直接的原因&#xff0c;就是面试需要&#xff0c;面试喜欢问源码&#xff0c;读完源码才可以…...

c# opencv 获取多边形中心点

在C#中使用OpenCV获取多边形的中心点&#xff0c;可以按照以下步骤进行&#xff1a; 首先&#xff0c;你需要找到图像中的轮廓。这可以通过FindContours方法实现&#xff1a; using OpenCvSharp;Mat src new Mat("your_image_path", ImreadModes.Grayscale); Mat …...

Redis数据一致解决方案

文章目录 前言技术积累查询缓存业务流程更新缓存业务流程 更新缓存问题解决方案写在最后 前言 当前的应用服务很多都有着高并发的业务场景&#xff0c;对于高并发的解决方案一般会用到缓存来降低数据库压力&#xff0c;并且还能够提高系统性能减少请求耗时&#xff0c;比如我们…...

安捷伦DSOX2024A示波器

参考波形 示波器的非易失参考波形存储器可以存储两个波形。比较这些参考波形与实时波形&#xff0c;并对已存储数据进行后分析和测量。您也可将波形数据存储到移动USB 存储器设备。这些数据还能调用到示波器的两个参考存储器的其中一个&#xff0c;进行全面的波形测量和分析。为…...

Leetcode算法系列| 4. 寻找两个正序数组的中位数

目录 1.题目2.题解C# 解法一&#xff1a;合并List根据长度找中位数C# 解法二&#xff1a;归并排序后根据长度找中位数C# 解法三&#xff1a;方法二的优化&#xff0c;不真实添加到listC# 解法四&#xff1a;第k小数C# 解法五&#xff1a;从中位数的概念定义入手 1.题目 给定两个…...

Java整合APNS推送消息-IOS-APP(基于.p12推送证书)

推送整体流程 1.在开发者中心申请对应的证书&#xff08;我用的是.p12文件&#xff09; 2.苹果手机用户注册到APNS&#xff0c;APNS将注册的token返回给APP&#xff08;服务端接收使用&#xff09;。 3.后台服务连接APNS&#xff0c;获取连接对象 4.后台服务构建消息载体 5.后台…...

C语言strcpy函数用法

C语言strcpy函数用法 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;让我们一起深入了解C语言中的strcpy函数&#xff0c;这是一个在字符串处理中非…...

反向海淘代购集运系统三种搭建路径对比:自研、开源二开、SaaS

「技术、数据、接口、系统问题欢迎留言私信沟通」引言&#xff1a;标准业务架构# 系统演示、API测试控制台&#xff1a;http://console.open.onebound.cn/console/?iRookie用户层&#xff08;Web / App / 小程序&#xff09;↓ 网关层&#xff08;Nginx / Gateway&#xff09;…...

保姆级教程:在i.MX6ULL开发板上用LVGL v8.3.11跑个炫酷UI(附触屏配置)

嵌入式Linux系统LVGL图形库移植实战指南&#xff1a;从零构建炫酷UI界面 在嵌入式系统开发中&#xff0c;图形用户界面(GUI)的实现一直是开发者面临的挑战之一。传统解决方案要么过于笨重&#xff0c;要么功能简陋&#xff0c;直到LVGL的出现改变了这一局面。这款轻量级开源图形…...

V型槽有灰还是镜头花了?三步排查图像模糊的真凶(工地实测版)

夏天的老旧小区弱电井&#xff0c;或者秋天刚刮过西北风的马路边&#xff0c;可以说是装维师傅们的"噩梦主场"。你蹲在逼仄的角落里&#xff0c;熟练地剥线、切割&#xff0c;把光纤小心翼翼地放入机器&#xff0c;按下防风盖。结果伴随着几声急促的"滴滴"…...

Zephyr 启动流程:从复位向量到main()的完整旅程

1. 从复位向量开始的奇妙旅程 当你按下嵌入式设备的电源按钮时&#xff0c;芯片内部就开始了一场精心编排的启动芭蕾。对于使用Zephyr RTOS的系统来说&#xff0c;这个旅程从复位向量&#xff08;Reset Vector&#xff09;开始&#xff0c;就像火车从始发站出发一样。Cortex-M架…...

英雄联盟终极自动化助手:三步掌握LeagueAkari提升游戏体验

英雄联盟终极自动化助手&#xff1a;三步掌握LeagueAkari提升游戏体验 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit LeagueAkari是一款基于英…...

信息量模型避坑指南:用ArcGIS做地灾评价,这3个细节错了全盘皆输

信息量模型避坑指南&#xff1a;用ArcGIS做地灾评价&#xff0c;这3个细节错了全盘皆输 地质灾害易发性评价是地质工程领域的核心课题之一。在山区开发、城市规划等场景中&#xff0c;准确预测地质灾害风险区域&#xff0c;能够为防灾减灾提供科学依据。信息量模型因其计算简单…...

AI智能体操作系统Agent-OS:架构、实现与生产部署指南

1. 项目概述&#xff1a;一个为AI智能体设计的操作系统最近在AI智能体开发领域&#xff0c;一个名为“Agent-OS”的项目引起了我的注意。这个项目由 factspark23-hash 团队开源&#xff0c;它不是一个传统意义上的操作系统&#xff0c;比如Windows或Linux&#xff0c;而是一个专…...

别再硬算幂函数了!FPGA图像处理中,用查找表(LUT)实现伽马校正的完整流程与资源优化

别再硬算幂函数了&#xff01;FPGA图像处理中&#xff0c;用查找表&#xff08;LUT&#xff09;实现伽马校正的完整流程与资源优化 在实时图像处理系统中&#xff0c;伽马校正&#xff08;Gamma Correction&#xff09;是一个无法绕开的关键环节。无论是医疗影像的增强显示&…...

【紧急更新】Perplexity v3.2.1已悄然移除默认引用锚点!立即启用这4种透明度兜底机制保学术安全

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity引用透明度优化的紧急背景与影响评估 在大型语言模型推理链&#xff08;Chain-of-Thought&#xff09;与多跳检索增强生成&#xff08;RAG&#xff09;系统中&#xff0c;Perplexity 作为核心…...

ARM Cortex-M3位带操作原理与W55MH32 GPIO实战应用

1. 从51到ARM&#xff1a;为什么我们需要“位带操作”&#xff1f;如果你是从51单片机转过来玩ARM Cortex-M3内核的&#xff0c;比如WIZnet这颗W55MH32&#xff0c;那你肯定对sbit P1_0 P1^0;这种写法再熟悉不过了。在51上&#xff0c;想单独控制一个IO口的高低电平&#xff0…...