shell脚本学习(三)[特殊符号大全]
2020-01-20 本文已影响0人
巩翔宇Ibrahimovic
Chapter14 特殊符号大全
1.引号
'' 完全引用,"" 不完全引用,`执行命令。详见chapter12。
2.括号
2.1 () (()) $() 圆括号
单独使用圆括号会产生一个子shell(xyz=123)
数组初始化 IPS=(ip1 ip2 ip3)
举例:
( abc=123)
echo $abc #因为产生了子shell,所以这一步不会打印到屏幕,看不到。
unset abc
ipt=(ip1 ip2 ip3)
echo $(( 10+20 )) #两个圆括号显示算数运算的结果
cmd1=$(ls) #$() 赋值命令信息
2.2 [] [[]] 方括号
单独使用方括号是测试(test)或数组元素功能
两个方括号表示测试表达式
#测试5是否大于4
[ 5 -gt 4 ]
echo $? #返回0,则上一条命令正确。
[[ 5 > 4]]
echo $? #返回0,则上一条命令正确。
2.3 <>尖括号 重定向符号
2.4 {} 花括号
输出范围 echo {0..9}
#将etc下的passwd复制为passwd.bak
文件复制 cp /etc/passwd{,.bak}
3.运算和逻辑符号
+-*/%
算数运算符
><=
比较运算符
&&逻辑与 ||逻辑或 !逻辑非
逻辑运算符
(( 5 > 4 && 6 > 5 ))
echo $? #返回值为0,使用 &&表示两个判断结果都成立时才为正确。
(( 5 > 4 || 6 < 5 ))
echo $? #返回值为0,使用 ||表示任一判断满足时返回值就为真。
((!5 > 4))
echo $? #返回值为1
4.转义符号
\
转义某字符
\n
普通字符转义之后有不同的功能
\'
特殊字符转义后,当做普通字符来使用
5.其他符号
#注释符
;命令分隔符
#远程终端把网卡停掉再重启
ifdown eth0 ; ifup eth0
case语句的分隔符要转义
vim 下 q!不保存。
:空指令
这条指令什么都不做
.和source命令相同
~家目录
cd - #在两个目录下进行切换
,分隔目录
*通配符
? 条件测试或通配符
ls ?.sh #显示该路径下所有脚本文件
echo {0..9} #显示0 1 2 ..9
echo { 0..9 } #有空格后当做字符串显示,还是{ 0..9 }
$取值符号
| 管道符
& 后台运行
_ 空格