时间:2021-05-22
前言
众所周知shell既是类Unix操作系统的命令解析器,用于解释执行用户输入的一连串命令,它类似于DOS下的command和后来Windows的cmd.exe。同时shell也是一种程序设计语言。作为命令解释型的脚本语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它预定义了各种环境变量,保留了一些关键字以及一些特殊字符的含义,并提供了许多在高级语言中才具有的控制结构,包括循环和分支判断。
本文将给大家介绍关于Shell特殊字符用法的相关内容,话不多说,来一起看看详细的介绍:
1、;分号
连续运行命令
2、| 管道
正则表达式中表示或者
前面命令的标准输出作为后面命令的标准输入
3、&
将命令放到后台执行
表示标准输出和标准错误输出
4、&&
前面命令返回值为0才执行后面的命令
5、||
前面命令返回值为非0才执行后面的命令
6、# 井号
# 表示注释
$# 表示位置参数的个数
${#变量名} 表示变量的长度
${#变量名[@]} 表示数组的个数
7、!惊叹号
将命令或者条件表达式的返回值取反
执行历史命令
vi或者ftp中执行外部shell命令
例如:在vim中,想要执行一条命令,就在末行模式,输入!感叹号后面加上要执行的命令
间接应用变量
例如:${!a} ---- 间接取b 的值
8、$ 美元符号
取变量的值
正则表达式表示行尾
9、> 大于号
输出重定向
11、< 小于号
输入重定向
条件测试中的小于号
= 等号
变量赋值 - 例如:设置变量a=10
条件测试中的等号 - 例如:[ a=b ] 判断变量a是否等于b
数值比较 == - 例如:(( a==20 )) 判断变量a是否等于20
12、+ 加号
算术运算中的加号 - 例如:1+3
正则表达式中1个或多个前面的字符 - 例如:ab+c 表示匹配ab和c之间有1个或者多个 字符
13、>>
输出重定向追加 - 例如:echo "123" >> test.txt 将123追加到文件test.txt中
14、<<
here document
例如:
更改用户 root 的密码 。
15、- 减号
算术运算中的减号 - 例如:10-2
命令的选项 - 例如:ls -l
上一次工作目录 - 例如:cd -
通配符和正则表达式中表示范围 - 例如:[a-z]
表示输出流或输入流
将前面的输出 ,通过管道交给后面的命令,前面的压缩,后面的解压
16、'' 单引号
解决变量赋值空格的问题
例如:a='1 2'
阻止shell替换
17、"" 双引号
解决变量赋值空格的问题
例如:a="1 2"
阻止shell部分字符替换,对$、!等无效
18、`` 反引号 相当于 $()
命令行替换
例如:可以设变量a=`ls`
19、% 百分号
算术运算中的模运算
例如:echo $((100%10)) 就是100除以10的余数为0
vi中替换操作中表示所有行 (末行模式下,替换所有前面加 %)
例如:在末行模式下输入 :% s/D/d 表示将文本中的所有的D替换为d
20、() 单圆括号
子shell中执行命令,会继承父shell的变量
括起数组元素
例如:定义一个数组 a=(1 2 3 4)
21、(()) 双圆括号
算术运算
例如: echo $((10/2)) 结果就是5
整数比较测试
例如: (( 10>2 )) 判断10是否大于2
22、[] 单方括号
通配符和正则中表示匹配括号中的任意一个字符
例如: [abc] 表示匹配abc中的任意一个字符
条件测试表达式
例如: [ -f /etc/passwd ] // 测试是不是文件
数组中下标括号
例如:echo ${a[0]} 表示取数组中下标为0的值
23、[[]] 双方括号
字符串比较测试
例如: [[a=b]] 用来字符串的比较
24、. 英文句点号
正则中表示任意1个字符
例如:a...b 表示 匹配 a和b之间夹三个字符的字符串
当前shell执行脚本命令
例如: ./test.sh 执行当前路径下的shell脚本test.sh
表示当前目录
例如:cd ./bgk 进入当前目录下的bgk目录下
25、{} 大括号
通配符扩展 abc{1,2,3}
正则表达式中表示范围
例如:a{3} 匹配3个 a
for i in {1...10} 循环指定范围
匿名函数{ cmd1;cmd2;cmd3;} &> /dev/null
{ } 里面的命令,是在当前shell执行
注意: { } 第一条命令前面要有空格,后面的命令要有分号
括起变量名 ${abc}a
26、/ 正斜杠
算术运算中的除法
例如:echo $((10/2)) 结果就是5
根目录或路径分割符
例如:cd /usr/local/ 表示路径
27、^
在通配符中表示取反
例如:[^abc] 表示匹配除了abc外的任意一个字符
在正则表达式中表示以什么开头
例如:
总结
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿...复制代码代码如下:
本文实例讲述了Python字符串内置函数功能与用法。分享给大家供大家参考,具体如下:字符串内置总结需要注意的是:字符串的单引号和双引号都无法取消特殊字符的含义,
特殊用法:统计字符串中E出现的次数:SELECTLENGTHB(TRANSLATE('ABCDEFGEFGDBE','E'||'ABCDEFGEFGDBE','
首先附上效果图:以上的效果完全是用css来实现的,那么是怎么实现的呢?我们知道html中有一些特殊的字符,具体的请点击HTML特殊字符大全。通过特殊字符,利用c
前言JSon数据中的String传递数据时,需要处理好特殊字符.本文主要给大家总结介绍了关于golang、rust、java和Python对特殊字符的json序