bash shell学习日记(4)特殊字符(三)之 斜线与反引号、冒号与感叹号
目录
1、斜线
1.1 反斜线与正斜线区别
2.1反斜线与正斜线在bash shell中用法
2、反引号
2.1 在bash shell脚本中作用
2.2 脚本分析
3、冒号
3.1 在bash shell脚本中作用
3.2 通过脚本分析冒号作用
4、感叹号
4.1 在bash shell脚本中作用
4.2 与冒号结合分析脚本
5.总结以思维导图方式呈现
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
一、斜线
1.1反斜线与正斜线区别
向后倾斜(\)为反斜线,向前倾斜(/)为正斜线。
1.2 反斜线与正斜线在bash 脚本中的用法
1)反斜线,bash shell中常用内置的转义字符。
什么是转义?
转义是一种引用单个字符的方法,通过在其前面放上转义字符(默认为 \ )告诉shell要根据字符字面上的意思来做解释即把字段意思做调整,可以分为两种调整方法。
- “怪”-----“正常”
在shell脚本中默认$是引用变量,“ 和 ' 是引用的意思,加上转义字符后直接输出即如下:
\$ <=> $ 、\" <=> " 、\' <=> '
- 正常------怪
常见在echo,sed等一些bash命令中,通过转义字符把正常的字符变成特殊的含义。
\n 新的一行
\r回车
\t 水平制表符
\v 垂直制表符
\b 后退符
\a "alert”(蜂鸣或者闪烁)
\0xx 转换为八进制的ASCI码等价于0xx
2)正斜线
两种用途:
- 在linux、unix系统中作为文件名/路径名的分隔符
- 除法运算的运算符
二、反引号
2.1 bash shell脚本中作用
反引号(`)作用:命令替换,把反引号中间的命令输出结果赋给字符串里。命令替换可以重新分配一个或多个命令的输出,它把命令的输出不做更改,添加到另一个环境的上下文中。
2.2 通过脚本分析用处
脚本逻辑:判断脚本名称or判断脚本运行路径
1 #!/bin/bash 2 # 本脚本名称为: 04.sh 3 # 用于测试反引号backquote的命令替换comnnad substitution功能 4 5 echo $0 6 7 script_name=`basename $0` 8 echo $script_name 9 10 script_name=`basename -s .sh $0` 11 echo $script_name 12 exit
结果:
./04.sh
04.sh
04
脚本中$0返回调用脚本的名称/执行脚本的名称。base根据所需返回。
三、冒号
3.1冒号在bash shell脚本中作用
冒号在bash shell脚本中为空命令,可理解为什么都不做。类似于shell中内置命令true。
ex:
[root@localhost ~]# true
[root@localhost ~]# echo $?
0
其中 $?返回最后一条执行命令退出状态码。
3.2通过bash shell脚本分析
1 #!/bin/bash 2 # 示例代码: 冒号 colon,空命令 null command 3 # 例1:死循环 Endless loop 4 5 while : #本行等同于 while true 6 do 7 operation-1 8 operation-2 9 opreation-3 10 operation-4 11 done 12 13 #例2:if/then的占用符 placeholder 14 15 if condition 16 then : #什么都不做,引出分支,有可能以后补充 17 else 18 take-some-action 19 fi 20 21 #例3:清空一个文件,但不会修改文件的权限,与cat /dev/null类似 22 # 由于空命令是一个内建的命令,所以不会产生一个新进程 23 : > testdata.txt
例1:冒号做死循环while后的字段,一直执行。
例2:在if-else中做占位符号,在15行中指定条件,在16行中希望做相应动作,在程序还未开发出来时使用,开发出来代替冒号。
例3:用:重定向到一个文件最终结果和cat /dev/null重定向结果相同(清空一个文件中内容),但使用冒号不会产生额外新进程。
四、感叹号
4.1在bash shell脚本中作用
感叹号为取反操作符,可理解为逻辑的 “ 非 ” 操作。有两种用途:1)反转命令推出代码,即如果是成功0变为1。2)反转测试操作符的含义,ex:!=为不等。
4.2 与冒号结合分析bash shell脚本
1 #!/bin/bash 2 # 叹号 ! 取反操作符 与 退出状态 的练习 3 4 # true 与冒号都是什么不能做的命令 5 true 6 echo "Exit status of \"true\" = $?" 7 8 ! true #注意 感叹号!与 命令之间空格 9 echo "Exit status of \"! true\" =$?" 10 11 12 # 退出状态码必须是十进制数,范围是0 - 255 13 exit 88
执行结果:
Exit status of "true" = 0
Exit status of "! true" =1
五、总结以思维导图方式呈现
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具