Shell 是指一种应用程序,用户通过这个程序访问操作系统内核的服务。
- Windows Explorer,图形界面shell
- Ken Thompson 的 sh,第一种Unix Shell
- Bourne Again Shell(/bin/bash)
Shell 脚本一般指能在sh或bash等Unix命令行shell下运行的脚本,以“.sh”为后缀。
语法
约定
#! 告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell
#! /bin/bash
echo "hello world"
- 单行注释: # 后面跟空格,可以注释一整行
- 多行注释: 冒号“:”后跟单引号将多行括起来
# 这是单行注释:'
注释部分
注释部分
'
变量
-
定义变量
变量的声明方式是var_name=var_value。- 变量名只包含字母(大小写敏感)、数字和下划线 _,数字不能在开头
- 等号前后不能有空格
-
只读变量
使用"readonly"修饰,则变量值不会被改变。readonly var_name -
删除变量
使用"unset"可以删除变量,删除后变量不能再被使用 -
变量类型:
- 字符串: 单引号或者双引号括起来。
str1='abc'str2="def" - 整数类型: file_count=5
- 索引数组: 用小括号括起来,以空格分隔。
my_arr=('aa' "bb" 123) - 关联数组(字典): 需要先声明,declare -A 数组名。
shell 脚本只支持一维数组
- 字符串: 单引号或者双引号括起来。
-
环境变量
由操作系统或用户设置的特殊变量,用于配置 Shell 的行为和影响其执行环境- PATH:包含了操作系统搜索可执行文件的路径
-
特殊变量
- $0 表示脚本的名称
- $1, $2,...,$n 等表示脚本的参数
- $# 表示传递给脚本的参数数量
- $? 表示上一个命令的退出状态
运算符
假设a=10, b=20
- 算术运算需要expr命令,且只支持整数。
| 运算符 | 说明 | 举例 |
|---|---|---|
| + | 加法 | `expr $a + $b` 结果为 30。 |
| - | 减法 | `expr $a - $b` 结果为 -10。 |
| * | 乘法 | `expr $a * $b` 结果为 200。 |
| / | 除法 | `expr $b / $a` 结果为 2。 |
| % | 取余 | `expr $b % $a` 结果为 0。 |
| = | 赋值 | a=$b 把变量 b 的值赋给 a。 |
| == | 相等。用于比较两个数字,相同则返回 true。 | [ $a == $b ] 返回 false。 |
| != | 不相等。用于比较两个数字,不相同则返回 true。 | [ $a != $b ] 返回 true。 |
- 关系运算符只支持数字,不支持字符串,除非字符串的值是数字。
| 运算符 | 说明 | 举例 |
|---|---|---|
| -eq | 检测两个数是否相等,相等返回 true。 | [ $a -eq $b ] 返回 false。 |
| -ne | 检测两个数是否不相等,不相等返回 true。 | [ $a -ne $b ] 返回 true。 |
| -gt | 检测左边的数是否大于右边的,如果是,则返回 true。 | [ $a -gt $b ] 返回 false。 |
| -lt | 检测左边的数是否小于右边的,如果是,则返回 true。 | [ $a -lt $b ] 返回 true。 |
| -ge | 检测左边的数是否大于等于右边的,如果是,则返回 true。 | [ $a -ge $b ] 返回 false。 |
| -le | 检测左边的数是否小于等于右边的,如果是,则返回 true。 | [ $a -le $b ] 返回 true。 |
- 布尔运算符
| 运算符 | 说明 | 举例 |
|---|---|---|
| ! | 非运算,表达式为 true 则返回 false,否则返回 true。 | [ ! false ] 返回 true。 |
| -o 或 || | 或运算,有一个表达式为 true 则返回 true。 | [ $a -lt 20 -o $b -gt 100 ] 返回 true。 |
| -a 或 && | 与运算,两个表达式都为 true 才返回 true。 | [ $a -lt 20 -a $b -gt 100 ] 返回 false。 |
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/965511.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
不懂 Attention 不算懂 AI?十大奠基论文(一):一文读懂《Attention Is All You Need》
摘要 《Attention Is All You Need》论文开创性地提出Transformer架构,彻底改变了自然语言处理领域的技术路径。该论文解决了传统RNN/CNN模型的三大痛点:通过自注意力机制实现全局语义捕捉,摆脱了序列处理的低效性;…
2025年直埋保温管供货厂家权威推荐榜单:热力管道/夹克保温管/预制直埋保温管源头厂家精选
在城镇集中供热管网与工业热能输送系统持续建设的推动下,直埋保温管作为保障热能高效、安全传输的核心部件,其市场需求稳步增长。据行业报告预测,未来几年中国预制直埋保温管市场将保持稳定发展态势。
直埋保温管凭…
2025上海专业防水补漏推荐!Top5口碑公司实测,先检测后施工有保障
随着建筑防水需求的不断升级,市场对专业防水补漏服务的要求日益严苛。本榜单基于技术实力、服务范围、施工质量和客户口碑四大维度,结合行业数据与用户反馈,对上海地区主流防水补漏企业进行综合评测,为消费者和企业…
PCBA方案设计——充气泵的工作原理是什么?
充气泵的核心工作原理是通过动力源驱动气体压缩机构,将低压气体压缩为高压气体,再通过管路输送至目标对象,实现充气;部分机型可反向工作完成抽气,本质是“气体的压力/容积转换”过程。一、核心工作流程(充气模式…
Linux内核xarray数据结构采用
Linux内核xarray数据结构采用pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco"…
2025年通风气楼厂家权威推荐榜单:钢结构厂房气楼/顺坡气楼/排烟通风气楼源头厂家精选
在工业建筑绿色转型与安全生产要求不断提升的背景下,通风气楼作为工业厂房的“呼吸系统”,其技术含量与产品质量直接关系到生产环境的安全和能源消耗效率。
据QYResearch最新研究报告显示,2031年全球通风装置市场销…
楼宇间网络拓扑测绘 从原理到精准部署
楼宇间拓扑测绘的核心,是将网络连接关系精确定位到建筑物级别,为校园、园区等单位的网络规划与运维提供“高清地图”。
通过精准的楼宇级拓扑测绘,网络管理员能快速定位故障点、优化数据流路径,并为网络扩容提供决…
IP种子技术:构建全球P2P网络实时监测方案
BT下载作为一种点对点文件共享技术,因其高效分发大体积文件的能力而广受欢迎。在该技术体系中,BT种子文件作为关键索引,不仅记录了目标文件的存储位置、大小等元数据,更包含了下载服务器与种子发布者的IP地址等关键…
IP应用场景全图谱:你的IP属于哪一类?
IP地理位置定位技术是当今互联网领域的关键技术之一,它通过分析IP地址的网络特征来确定设备的地理位置。本文介绍的超高精度IP实时定位系统实现了街道级别的定位精度,该系统采用网络测量与大数据挖掘相结合的技术路线…
windows下配置cmake+opencv报错
windows下配置cmake+opencv报错:
find_package(OpenCV 4.3.0 REQUIRED)报错:
CMake Error at CMakeLists.txt:8 (find_package): By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this projec…
编译lazarus时,可能出现Makefile:3520: recipe for target fcllaz.ppu failed的处理方法
编译lazarus时,可能出现Makefile:3520: recipe for target fcllaz.ppu failed的处理方法如果编译lazarus出现以下错误信息:[2025-11-13 23:37:45.224 Info] (10028) Recompiling DB, checksum changed for /home/lbz…
破局代码思维:软件开发公司的体验式竞争力进化
破局代码思维:软件开发公司的体验式竞争力进化软件开发行业的现状剖析
数字化浪潮下,全球软件开发市场规模预计2025年将达1.6万亿美元,竞争日趋白热化。当前多数软件公司仍聚焦"代码交付"传统模式,将功能…
IP定位面积揭秘:为什么你的IP归属地会不准确?
你是否曾注意到,当你在社交媒体发布内容时,显示的IP属地有时与你实际所在地不符?或者在使用某些网络服务时,系统识别的位置与你真实位置相差甚远?这背后涉及的是IP地址定位技术中的一个关键概念—IP定位面积。
一…
无需人工奖励!Meta FAIR华人团队提出「早期经验学习范式」,AI智能体像人类一样“从错误中成长”
01 论文概述
论文标题: Agent Learning via Early Experience: Bridging Imitation and Reinforcement Learning Without Explicit Rewards
作者团队: 由Meta AI FAIR实验室(Facebook人工智能研究院)主导,华人研究…
嵌入式PWRKEY多功能使用攻略与设计要点探讨!
PWRKEY在嵌入式设备中承担着核心的电源管理功能,而多功能PWRKEY的引入则进一步提升了系统灵活性。本文将探讨其多功能使用攻略和设计环节中的要点。
在嵌入式项目开发中,无论是简单的用户按键,还是复杂的MCU联动,又…
2025年广东儿子不学习沉迷网络公司权威推荐榜单:青少年戒掉网瘾/初中生沉迷网络游戏/孩子沉迷网络游戏源头公司精选
随着数字化时代的深入发展,青少年网络沉迷问题日益凸显。据相关研究数据显示,部分城市中学生网络游戏过度使用筛查出率呈现波动变化,这一问题已成为众多家庭面临的严峻挑战。
网络沉迷不仅影响青少年的学业成绩,更…
打造景区“视觉中枢”:视频融合平台EasyCVR助力智慧景区安防智能化升级
随着旅游业的复苏,景区面临着客流管理、安全防控、服务质量提升等多重挑战。传统烟囱式、异构化的视频监控系统已难以满足现代化智慧景区的管理需求。本文将深入探讨基于视频融合技术的EasyCVR平台,如何作为景区的“…
[books]Love, Money, and Parenting: How Economics Explains the Way We Raise Our Kids 5 Febrero 2019
Love, Money, and Parenting: How Economics Explains the Way We Raise Our Kids Tapa dura – 5 Febrero 2019
Love, Money, and Parenting: How Economics Explains the Way We Raise Our KidsMatthias Doepke and …
一个小白的YOLOv10(MindYOLO)推理初尝试
前情提要
环境:笔记本、MindSpore、mindyolo、Jupyter Notebook
资源:mindyolo github、智能厨房 gitcode
小白工程师学习到了较繁琐的YOLOv10的新检测目标训练(非COCO数据集中已有目标),从github将mindyolo项目下…
Proxmox VE创建Linux虚拟机、相关设置分析
本文介绍了Proxmox VE创建Linux虚拟机、相关设置详细分析,以及相关机制分析参考:PVE 9.0 快速上手:一台物理机搞定虚拟化系统!
[[20251028-安装Ubuntu Server]] 下载镜像
官网下载| Ubuntu
上传镜像
上传安装镜像,…