总结Shell中的特殊字符
这篇文章主要给大家总结了关于Shell中特殊字符的相关资料,文中包括分好、&、#、!、$、大于号、单双引号等等一系列特殊字符的用法,通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
前言
众所周知shell既是类Unix操作系统的命令解析器,用于解释执行用户输入的一连串命令,它类似于DOS下的command和后来Windows的cmd.exe。同时shell也是一种程序设计语言。作为命令解释型的脚本语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它预定义了各种环境变量,保留了一些关键字以及一些特殊字符的含义,并提供了许多在高级语言中才具有的控制结构,包括循环和分支判断。
本文将给大家介绍关于Shell特殊字符用法的相关内容,话不多说,来一起看看详细的介绍:
1、;分号
连续运行命令
# ifdown eth0;ifup eth0
2、| 管道
正则表达式中表示或者
# echo "ooooee" |egrep '(oo|ee)'{2} 表示匹配 oooo 或者 eeee 的字符
前面命令的标准输出作为后面命令的标准输入
# ifconfig|grep eth0 表示ifconfig查出来的信息然后过滤出eth0的这一行
3、&
将命令放到后台执行
# mysqld_safe --user=mysql & 将MySQL放到后台启动
表示标准输出和标准错误输出
# ifconfig &>/dev/null 将ifconfig执行得到的结果输出到/dev/null里面
4、&&
前面命令返回值为0才执行后面的命令
# ls && echo "ok"
5、||
前面命令返回值为非0才执行后面的命令
# lls || echo "ok"
6、# 井号
# 表示注释
$# 表示位置参数的个数
# echo $# 0
${#变量名} 表示变量的长度
# a='hello' # echo ${#a} 5
${#变量名[@]} 表示数组的个数
# a=(1 2 3) # echo ${#a[@]} 3
7、!惊叹号
将命令或者条件表达式的返回值取反
# if ! [ 1<2 ]; then echo 'ok'; else echo 'no'; fi ok
执行历史命令
# history 1 ls 2 tail test1.txt 3 mysql -uroot -p123 4 ls /tmp/ 5 cd /tmp/ [root@localhost ~]# !994 ls /tmp/ account.sql data.sql mysql.sock t1.txt t2.txt
vi或者ftp中执行外部shell命令
例如:在vim中,想要执行一条命令,就在末行模式,输入!感叹号后面加上要执行的命令
间接应用变量
例如:${!a}
---- 间接取b 的值
8、$ 美元符号
取变量的值
# a=10 # echo $a 10
正则表达式表示行尾
egrep ':$' /etc/inittab egrep ‘^hello$' file
9、> 大于号
输出重定向
echo '123' >test.txt 表示将123 输入到文件test.txt中 条件测试中的大于号
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
例如:
# passwd <<end > 123 > 123 > end
更改用户 root 的密码 。
15、- 减号
算术运算中的减号 - 例如:10-2
命令的选项 - 例如:ls -l
上一次工作目录 - 例如:cd -
通配符和正则表达式中表示范围 - 例如:[a-z]
tar -cvf - /home | tar -xvf -
表示输出流或输入流
将前面的输出 ,通过管道交给后面的命令,前面的压缩,后面的解压
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外的任意一个字符
在正则表达式中表示以什么开头
例如:
egrep ‘^hello$' file
以上是总结Shell中的特殊字符的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

定制您的操作系统是让您的日常生活更加愉快的绝佳方式。您可以更改用户界面、应用自定义主题、添加小部件等等。因此,我们今天将向您展示如何在Windows11上安装ClassicShell。该程序已经存在了很长时间,并允许您修改操作系统。志愿者现在已经开始运营该组织,该组织于2017年解散。新项目名为OpenShell,目前在Github上可供感兴趣的人使用。&a
![Explorer.exe 在系统启动时不启动 [修复]](https://img.php.cn/upload/article/000/887/227/168575230155539.png?x-oss-process=image/resize,m_fill,h_207,w_330)
如今,许多Windows用户开始遇到严重的Windows系统问题。问题是系统加载后Explorer.exe无法启动,用户无法打开文件或文件夹。虽然,Windows用户在某些情况下可以使用命令提示符手动打开Windows资源管理器,并且每次系统重新启动或系统启动后都必须这样做。这可能是有问题的,并且是由于下面提到的以下因素造成的。损坏的系统文件。启用快速启动设置。过时或有问题的显示驱动程序。对系统中的某些服务进行了更改。修改后的注册表文件。请记住以上所有因素,我们提出了一些肯定会对用户有所帮助

您在运行脚本时是否看到此错误消息“Add-AppxPackage:部署失败,HRESULT:0x80073D02,无法安装该包,因为它修改的资源当前正在使用中。PowerShell中出现错误0x80073D02…”?如错误消息所述,当用户在前一个进程运行时尝试重新注册一个或所有WindowsShellExperienceHost应用程序时,确实会发生这种情况。我们已经获得了一些简单的解决方案来快速解决这个问题。修复1–终止体验主机进程您必须在执行powershell命令之前结束

Linux系统下在处理文件时,有时候需要删除文件末尾的行。这种操作在实际应用中很常见,可以通过一些简单的命令来实现。本文将介绍在Linux系统中快速删除文件末尾行的操作步骤,同时提供具体的代码示例。步骤一:查看文件末尾行在进行删除操作之前,首先需要确认文件的末尾行是哪一行。可以使用tail命令来查看文件的末尾行,具体命令如下:tail-n1filena

适用于 Linux 的 Windows 子系统第一种选择是使用适用于 Linux 或 WSL 的 Windows 子系统,这是一个兼容层,用于在 Windows 系统上本地运行 Linux 二进制可执行文件。它适用于大多数场景,允许您在 Windows 11/10 中运行 shell 脚本。WSL 不会自动可用,因此您必须通过 Windows 设备的开发人员设置启用它。您可以通过转到设置 > 更新和安全 > 对于开发人员来完成。切换到开发人员模式并通过选择是确认提示。接下来,查找 W

如何使用自动更正在 Word 中键入箭头在 Word 中键入箭头的最快方法之一是使用预定义的自动更正快捷方式。如果您键入特定的字符序列,Word 会自动将这些字符转换为箭头符号。您可以使用此方法绘制多种不同的箭头样式。要使用自动更正在 Word 中键入箭头:将光标移动到文档中要显示箭头的位置。键入以下字符组合之一:如果您不希望将您键入的内容更正为箭头符号,请按键盘上的退格键会将

上标是一个字符或多个字符,可以是字母或数字,您需要将其设置为略高于正常文本行。例如,如果您需要写1st,则字母st需要略高于字符1。同样,下标是一组字符或单个字符,需要设置为略低于正常文本级别。例如,当你写化学式时,你需要把数字放在正常字符行的下方。以下屏幕截图显示了上标和下标格式的一些示例。尽管这似乎是一项艰巨的任务,但实际上将上标和下标格式应用于您的文本非常简单。在本文中,我们将通过一些简单的步骤说明如何轻松地使用上标或下标格式设置文本。希望你喜欢阅读这篇文章。如何在 Excel 中应用上标

Python 脚本部分实例:企业微信告警、FTP 客户端、SSH 客户端、Saltstack 客户端、vCenter 客户端、获取域名 ssl 证书过期时间、发送今天的天气预报以及未来的天气趋势图;Shell 脚本部分实例:SVN 完整备份、Zabbix 监控用户密码过期、构建本地 YUM 以及上篇文章中有读者的需求(负载高时,查出占用比较高的进程脚本并存储或推送通知);篇幅有些长,还请大家耐心翻到文末,毕竟有彩蛋。Python 脚本部分企业微信告警此脚本通过企业微信应用,进行微信告警,可用于
