shell编程之符号与变量

linux shell 编程 shell的作用 shell是用户和系统内核之间的接口程序 shell是命令解释器 shell程序 Shell程序的特点及用途: shell程序可以认为是将shell命令按照控制结构组织到一个文本文件中,批量的交给shell去执行 不同的shell解释器使用不同的shell命令语法 shell程序解释执行,不生成可以执行的二进制文件 可以帮助用户完成特定的任务,提高使用、维护系统的效率 Shell使用解释型语言,不需重新编译 它适合于编写执行相对简单的任务的工具,因为它更强调易于 阅读详情

一、shell特殊字符
1、一般通配符
这里写图片描述

2、模式表达式
这里写图片描述
3、引号
在shell中引号分为三种,单引号、双引号和倒引号。
3.1、双引号
由双引号括起来的字符(除$,倒引号(),和反斜杠(\)外),其余字符均视为普通字符。对这三种字符仍然保持特殊功能。$表示变量替换,倒引号()表示命令替换,反斜杠表示转移字符。
例:i=10;
echo “i”输出:103.2、单引号由单引号括起来的字符均视为普通字符。例:echo‘i’
输出:echo $i
3.3、倒引号
倒到引号括起来的字符串被shell解释为命令行,在执行时,shell会先执行该命令行,并用他的结果替换整个倒引号部分。
例: echo “pwd”
打印当前目录,并显示出来。

4、注释、管道符、后台命令
在shell脚本里面除了第一行以”#!”开头的表示所使用的脚本的绝对路径。其余以”#”开头的表示注释。
管道线是以”|”隔开的若干命令所组成的序列。一个管道线中可以包含多条命令。
在可执行文件名的后面加上”&”表示在后台运行命令。

5、命令执行操作符。
可以使用逻辑与”&&”把两个命令联系到一起。
例:命令1&&命令2
在命令1执行成功的前提下才执行命令2.

可以使用逻辑或”||”把两个命令联系到一起。
例:命令1||命令2
在命令1执行失败的情况下才去执行命令2.

6、成组命令
以{}括起来的全部命令可以视为语法上的一条命令,出现在管道符的一边。
例:
这里写图片描述
注意:左括弧”{“后面要有一个空格,右括弧”}”前面要有一个分号”;”。

成组命令也可以用”()”括起来。
例:
这里写图片描述
如果用”()”括起来组成命令时,左括号”(“后不必有空格,右括号”)”前也不必有分号”;”。

“{}”和”()”的区别就是,”{}”在本shell内执行命令表,而”()”是创建一个子进程后让子进程去执行命令表。

二、shell变量
1、shell变量
shell中的变量类型都是弱类型,可以不用声明直接就使用,shell会将所有的变量都解释成字符串。变量的命名方法和C语言是相同的。
2、变量赋值
变量赋值的一般形式是:变量名=字符串。注意等号两边一定不能有空格,不然会被shell解释成命令。
3、引用变量值
在变量名前面加一个符号,它告诉shell对变量进行值替换。例:i=10echoi
4、命令替换
在shell中有两种命令替换的方式,分别是倒引号”“”和$(),shell会将他们括起来的字符串解释成命令。
例:

5、数组
shell中的数组都是一维数组,下标从0开始,下标可以是整数或算术表达式其值应该大于0。
用户可以用赋值语句给数组进行赋值:
例:
这里写图片描述
还可以使用圆括号()进行组合赋值。
这里写图片描述
读取元素值的形式一般是:${数组名[下标]}。若没有给出数组下标,则数组名表示下标为0的数组元素,如nums就等价于nums[0]。而使用*或@作为下标的时候,则表示数组的所有元素。
例:
这里写图片描述
他们的区别就是nums[∗]会将数组所有元素解释成一个字符串,而{nums[@]}会将每个元素解释成一个单独的字符串。
这里写图片描述

6、read命令可以从键盘上读取数据,然后赋给指定变量。
read命令的一般格式是:read 变量1 变量2 …
例:
这里写图片描述
如果read后面的变量个数大于输入的参数,则后面的变量的值是空:
这里写图片描述
如果read后面的变量个数小于输入的参数,则多余的参数都会赋给最后一个变量:
这里写图片描述

7、预先定义的特殊变量

7.1、$#:表示命令行上参数的个数,但不包括shell脚本名本身。
7.2、$?:表示上一条命令执行之后的返回值。如果成功的话,则就是0,失败的话非0。
7.3、$$:表示当前进程的进程号。
7.4、$!:表示上一个后台命令对应的进程号。
思科路由器重分发(静态路由+OSPF动态路由+RIP动态路由) 阅读详情

相关推荐

primetime如何做voltage scaling

存在这样的情况,标准单元库只有ssgnp0p72vm40c和ssgnp0p9vm40c的libs,但是我们希望它工作在ssgnp0p76vm40c,这样的话就需要用ssgnp0p72vm40c和ssgnp0p9vm40c的libs来scaling出ssgnp0p76vm40c的lib。

qq_34326957的博客 1685

Shell程序中的特殊字符(二)

Shell程序中的特殊字符(二)

Keep_Trying_Go的博客 2980

STC8H开发(十六): GPIO模拟SPI驱动Ci24R1实现低成本无线遥控

本文详细介绍了如何使用STC8H单片机通过GPIO模拟SPI驱动Ci24R1无线模块,实现低成本无线遥控方案。内容涵盖硬件设计要点、软件驱动开发技巧及实战优化经验,特别适合消费电子产品开发者参考。Ci24R1凭借其高性价比和双模协议支持,成为替代传统nRF24L01+的理想选择。

weixin_30378623的博客 350

shell中的引号

单引号(' ')       单引号可以说是即见即所得,即将单引号的内容原样输出       由单引号括起来的字符都作为普通字符输出       防止任何变量扩展,当shell碰到第一个单引号时,它将忽略掉其后直到右引号的所有特殊字符       例如:       a=hello       echo  ' $a ? * `pwd` '      # 输出: $a ? * `pwd`

u010300484的专栏 818

滚动轴承振动信号特征解析与故障诊断模型构建

本文深入解析了滚动轴承振动信号的三大来源与特征,并详细阐述了从时域、频域到时频域的特征提取方法。通过构建基于机器学习(如随机森林、SVM)或深度学习的故障诊断模型,结合实战代码示例,为设备维护工程师提供了一套从信号分析到智能诊断的完整解决方案,旨在实现精准的故障识别与预测性维护。

qsc901234567的博客 368

Stata中介效应分析实战:从sgmediation安装到Sobel检验结果解读

本文提供了Stata中进行中介效应分析的完整实战指南,重点介绍了第三方命令sgmediation的安装、配置与使用。通过详细案例演示了如何运用Sobel检验分析变量间的间接效应,并深入解读检验结果,帮助研究者厘清自变量影响因变量的具体路径。文章还探讨了Sobel检验的原理、优缺点及结果报告规范,是进行实证研究的实用参考。

weixin_29197051的博客 630

Shell指令中的单引号,双引号,反引号,反斜杠

<br />1.‘string’ 单引号<br />被单引号括住的内容将被视为单一的字符串,在引号内的$符号没有作用,也就是说$被当做普通字符处理。<br />例如:<br />[root@localhost root]#echo '$HOME'<br />$HOME<br /> <br />2."string"双引号<br />被双引号括住的内容将被视为单一的字符串,他防止通配符扩展,但允许变量扩展。这点与单引号不同。<br />例如:<br />[root@localhost root]#echo "$

piaojun_pj的专栏 1194

Windows 11最新WDK安装避坑指南:从Visual Studio配置到KMDF驱动开发

本文提供了在Windows 11系统上进行KMDF驱动开发的完整环境搭建与实战指南。针对最新WDK与Visual Studio的配置变化,详细解析了从独立安装WDK/SDK、创建首个KMDF驱动项目,到编译排错、部署调试的全流程,帮助开发者高效避坑,顺利开启Windows内核开发。

weixin_29302047的博客 528

shell中引用(反斜杠、单引号和双引号)

一 引用: (一)引用(quoting):用来防止Shell将某些你想要的东西解释成不同的意义。 (二)三种引用形式: (1)反斜杠转移(\):字符前的反斜杠用来告知Shell该字符即为字面上的意义。 (2)单引号:强制Shell将一对单引号之间的所有字符都看作是字面上的意义。 *Shell会删除这两个引号,只单独留下被括起来的完整文本内容。 *不可以在单引号里再内嵌一个单引号

linux系统、网络编程和分布式计算 5265

Tomcat漏洞——弱口令爆破

靶机:CentOS7 IP:192.168.100.40。攻击机:kali IP:192.168.100.60。版 权 声 明:本博客所有文章除特别声明外,均采用。文章版权归作者所有,未经允许请勿转载!作 者:PeiyuJue。

weixin_57379923的博客 910

PCL 法向量夹角剔除错误匹配点对【2026最新版】

实现了一种简单的基于对应点法线角度的对应关系去除方法。博客长期更新,本文最新更新时间为:2026年5月24日。

点云侠的博客 41万+

Shell编程入门,变量及特殊符号使用

前言概述 shell编程在工作中以及面试的过程中,难免都会碰到。那么掌握它、运用它、理解它,则是一种必要的选择。正所谓:在编程的道路上,学无止境!对于shell编程,我同样也是一位学生,希望记录自己的学习过程,为自己查漏补缺,也希望可以帮到正在学习中的你。 什么是shell? 我想作为一名后端开发者来说,在接触了虚拟机,Linux系统之后,都不会感到陌生吧。shell是建立在Linux内核与应用程序之间的命令解释器。用户可以通过在应用程序软件使用shell编程来调用Linux内核的指令完成一定的逻辑操作。

qq_41438223的博客 372

YOLOv11缝合改进Conv | SAConv在YOLOv11中的应用可切换空洞卷积与性能提升(附代码)

在本篇文章中,我们将深入探讨如何通过引入**SAConv**(Switchable Atrous Convolution,可切换空洞卷积)来优化YOLOv11网络结构,特别是在卷积操作方面的创新。我们会解析SAConv的核心原理和架构设计。

一键难忘的博客 955

Linux与shell脚本编程:shell的变量与常见符号

一、常见变量 不同于其它语言需要先声明变量,shell的变量直接使用,eg:a=15 echo $a (该命令可提出出a的值) 调用变量的话 $a 或者 ${a}。${a} 可实现字符串拼接 $? #判断上一条命令执行的是否成功,执行成功返回0,失败返回1 $0 #返回脚本的文件名称 $1-$9 #返回对应的参数值 $* #返回...

suhand的博客 339

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

自学shell编程——第1讲(基础概念、变量、符号、字符串处理、列表)

shell编程 1. 常见shell命令 ls cd more less pwd mkdir clear touch vim chmod grep cp ln man ps -ef 查看这些命令的帮助文档:man less或less --help 2. shell编程和C语言编程的差距 C语言:①文本编辑器编辑文件hello.c;②进行编译:gcc hello.c -o hello.o,则该目录下会生成一个可执行的hello.o文件;③执行:./hello.o shell编程:①文本编辑器编辑文件hell

weixin_44616693的博客 1192

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

shell编程规范变量详解(shell编程规范,执行脚本的方式,管道符号与重定向,shell变量类型)

shell编程规范变量 文章目录shell编程规范变量前言一 : shell脚本概述1.1:shell脚本的概念1.2 :shell脚本应用场景1.3:用户的登陆shell1.31:type命令----显示指定命令类型1.4:编写第一个shell脚本1.41:编写脚本代码1.42:赋予可执行权限1.5:执行脚本文件方法一:脚本文件路径(绝对路径与相对路径)方法二:sh 脚本文件路径方法三:source 脚本文件路径方法四:点后面加空格 脚本文件路径1.6:更完善的脚本结构二:重定向与管道操作2.1:交互式硬

weixin_47151643的博客 773

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ini文件注释符号_CentOSlinux学习笔记20:shell编程注释、变量、常量

linux基础操作:主要介绍了shell编程里的注释符号,变量和常量的声明方法。注意事项:通常声明变量和常量时一般都以大写字母为推荐。当然小写也可以声明成功。声明变量和常量时不能以数字开头,也不能使用中文。1.#注释符号[注释单行代码作用,以方便更好的维护]例子1:echo "输出内容" #表示通过echo向终端输出一条内容。表示写echo代码时给代码添加个说明,通常注释都写在代码前一行...

weixin_39683978的博客 931

linux shell scrip(脚本)编程简介------变量、特殊符号和表达式

一些朋友从事linux相关的维护工作, 这自然需要会搞shell scipt编程。另外一些朋友从事linux相关的测试工作,经常涉及到一些自动化测试的东西, 当然需要会点shell scrip编程啊。 还有很多朋友从事linux相关的开发工作, 那么, 我要说, 不会shell script, 那是不合格的, 尽管有很多程序员跟我说: 我只要看得懂即可, 会不会写没有关系。

认知 行动 坚持 9196

ini文件注释符号_CentOS「linux」学习笔记20:shell编程注释、变量、常量

linux基础操作:主要介绍了shell编程里的注释符号,变量和常量的声明方法。注意事项:通常声明变量和常量时一般都以大写字母为推荐。当然小写也可以声明成功。声明变量和常量时不能以数字开头,也不能使用中文。1.#注释符号[注释单行代码作用,以方便更好的维护]例子1:echo "输出内容" #表示通过echo向终端输出一条内容。表示写echo代码时给代码添加个说明,通常注释都写在代码前一行。例子2:...

weixin_39654058的博客 391

Shell编程规范变量详解必看!!!(管道符号与重定向,shell变量类型)

前言   Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。   Linux 命令的执行必须依赖于 Shell 命令解释器。Shell 实际上是在 Linux 操作系统中运行的一种特殊程序,它位于操作系统内核与用户之间,负责接收用户输入的命令并进行解释, 将需要执行的操作传递给系统内核执行,shell 在用户和内核之间充当了“翻译官”的角色。当用户登录到 Linux 系统时,会自动加载一个 Shell 程序,以便给用户提供可以输入

下一个艺术家 886

Shell脚本编程规范、符号定义、重定向、(环境)变量

Shell脚本、符号定义、重定向、(环境)变量一、Shell脚本概述1.1 Shell脚本的概念1.2 Shell脚本应用场景1.3 Shell的作用1.4 用户的登录Shell二、编写第一个Shell脚本2.1 编写脚本代码2.2 赋予可执行权限2.3 执行脚本文件2.4 更完善的脚本构成2.4.1 脚本申明(解释器)2.4.2 注释信息2.4.3 可执行语句三、重定向与管道操作3.1 交互式硬件设备3.2 重定向操作3.2.1 补充:为什么2>&1要放在后面3.3 管道操作符号"|"四、S

IvyXYW的博客 561

Shell编程规范与变量(shell编程规范,执行脚本文件的四种方式,管道符号与重定向,shell变量的作用于类型)

文章目录Shell脚本概述Shell脚本的概念Shell的作用Shell编程规范重定向与管道Shell脚本变量自定义变量特殊变量 Shell脚本概述 Shell Script [1] ,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。 在一些复杂的Linux维护工作中,大量重复性的输

CN_PanHao的博客 413

shell编程的变量与编程符号使用

  bash变量类别:     本地变量: (更小的有局部变量,之限于某一个代码段)       作用范围仅限当前源程序文件.仅对当前的shell进程有效(即理解为打开的一个shell终端,同时记住父shell的变量在子shell里同样没有效果).         echo命令:           -n:输出的时候省去\n(回车).           -e:显示转义字符.如\t \e...

weixin_30699235的博客 95

shell编程规范与变量(shell编程规范,执行脚本文件的四种方式与总结,管道符号与重定向,shell变量的作用于类型(自定义与特殊变量))

在一些复杂的Linux维护工作中,大量重复性的输入和交互操作不但费时费力,而且容易出错。 而编写一个恰到好处的shell脚本程序,可以批量处理,自动化的完成一系列维护任务,大大提高工作效率 介绍shell编程规范与执行脚本的四种方式与总结 管道符号与重定向符号的使用 shell变量的详解

CN_TangZheng的博客 1343

Linux之Shell编程规范与变量

将要执行的命令按顺序保存到一个文本文件给该文件可执行权限可结合各种Shell控制语句以完成更复杂的操作自动化运维批量化重复操作可以编写脚本结合计划任务自动周期运行减轻管理员工作量提高处理文本文件的速度避免配置出错格式:变量名=变量值变量命名规则:以字母或下划线开头,区分大小写环境变量由系统提前创建,用来设置用户的工作环境使用 env 命令可以查看到当前工作环境下的环境变量。

qq_71300653的博客 2227

第十八章、shell编程规范与变量

格式:变量名=变量值变量命名规则:以字母或下划线开头,区分大小写是由Shell预先定义好的特殊变量,它们在脚本中有着特定的用途。:上一个命令的退出状态。$0:脚本的名称。$$:当前Shell进程的进程ID(PID)。:后台运行的最后一个进程的进程ID。$-:显示当前Shell使用的选项。$*和@$:如前所述,用于处理命令行参数$#:表示命令或脚本要处理的参数的个数。

moonligth111的博客 2475
上一篇: shell中的命令替换
下一篇: shell脚本执行过程
午饭要阳光
博客等级 码龄11年 749粉丝 283原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值