本文主要介绍了shell脚本中28个特殊字符功能的简明总结,有需要的朋友可以参考一下。
1.#
评论功能,#!另外,当参数替换为echo ${PATH#*:}时,这里不表示注释echo $((2#101011)),转换的是数制。
2. ;
命令行分隔符,您可以在一行中编写多个命令。echo hello回声在那里
3. ;;
终止case选项的复制代码如下:case " $ variable " in ABC)echo " \ $ variable=ABC ";XYZ)echo " \ $ variable=XYZ ";environmental systems applications center 环境系统应用程序中心
4. .隐藏文件前缀。该命令相当于source。指示当前目录.指示前一个目录在正则表达式中作为单个字符匹配。
5. “”, ‘'
双引号和单引号,其中变量可以用双引号引用,但不能用单引号引用,用于组织特殊字符。
6.\
经济社会委员会
7. /
文件名分隔符,除法运算
8.`(ESC下方的按钮)
发布参考,命令替换
9.
空命令,相当于“NOP”,也可以看作是shell内置命令。true具有相同的效果,例如:无限循环copy的代码如下:while: do echo "1" done等价于:而truedo echo "1"done是if/then语句中的占位符:copy的代码如下:if条件
然后:#什么都不做,导致一个分支
其他
做其他事情
船方不负担装货费用
在2元命令中提供一个占位符。
当与(redirect operator)一起使用时,在没有修改权限的情况下清除文件,例如:(如果文件不存在,将创建它)
:data.log相当于
cat /dev/null data.log
10. !
求逆算符!=不等于
11.*
通用匹配,数学乘法* *正则表达式中的幂运算
12. ?
在测试正则表达式中,匹配任何单个字符。
13. $
在符号正则表达式中,行结束符$ {0}参数替换$ *,而$ @ position参数$?退出状态$ $进程ID
14. ()
命令,(a=你好;Echo $a),()中的命令列表将作为子shell运行。()中的变量对于脚本的其余部分不可用,因为它们位于子shell中。数组初始化:数组=(元素1,元素2,元素3)
15.{xxx,yyy,zzz}
大括号扩展了cat {file1,file2,file3} combined _ file,并将file1、file2和file3组合在一起,并将它们重定向到combined _ file。大括号中不能有空格。
16. {}
代码块。事实上,这个结构创建了一个匿名函数。但是与函数不同的是,它声明的变量对于脚本其他部分的代码仍然是可见的。复制代码代码如下:#代码块中的内容,外部访问,I/O重定向
1: #!/bin/bash 2:3:file=/etc/fstab 4:5:#变量在此代码块中,外部访问也在6处可用:{ 7:read line 1 8:read line 2 9:} $ file 10:11:echo '在$ file中的第一行是' 12: echo' $ line 1' 13: echo 14: echo '在$ file中的第二行是' 15: echo' $ line 2' 16: 17: exit 0 #将代码块的结果保存到文件中
17.{}\;
路径,通常在find命令中使用。注意;-exec用于结束查找命令序列
18. []
试验
元素,如array[1]=abc字符范围,用于正则表达式中
19.[[]]
测试表达式本身放在[]中
20. (())
数学计算扩展
21.
重定向脚本名称文件名将脚本的输出重定向到文件,覆盖原始内容。命令filename将stdout和stderr重定向到文件。命令2重定向stdout,stderrscriptname filename将脚本的输出重定向到文件,并将其添加到文件的末尾。如果没有文件,则创建该文件。
22.
重定向,用于“此处文档”,用于“此处字符串”
23.\, \
单词边界grep' \正则表达式中的\' testfile
24. |
流水线,分析前面命令的输出,并将输出作为后面命令的输入。
25. |
强制重定向
26. ||
逻辑或
27.
运行后台命令,后跟一个命令,将意味着在后台运行复制代码,如下所示:1: #!/bin/bash 2:3:for I in 1 2 3 4 5 6 7 8 9 10 4:do 5:echo-n ' $ I ' 6:done注意,for循环的最后一次完成。
28.
逻辑与
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。