工作情况汇报Linux特殊符号大全
在shell中常用得特殊符号罗列如下:
#;;;、, /\ 'string’| !$${}$?$$$*"string"* **?: ^ $#$`mand`{}[][[]]() (())||&&{xx,yy,zz,、、、}~~+~-& \<、、、\>+ - %= == !=
#井号(ments)
这几乎就是个满场都有得符号,除了先前已经提过得"第一行"
#!/bin/bash
井号也常出现在一行得开头,或者位于完整指令之后,这类情况表示符号后面得就是注解文字,不会被执行。
#This line isments、鱼骨辫教程
echo"a=$a” #a=0
由于这个特性,当临时不想执行某行指令时,只需在该行开头加上#就行了。这常用在撰写过程中。
#echo "a=$a”# a=0
如果被用在指令中,或者引号双引号括住得话,或者在倒斜线得后面,那她就变成一般符号,不具上述得特殊功能。
~帐户得home 目录
算就是个常见得符号,代表使用者得home 目录:cd ~;也可以直接在符号后加上某帐户得名称:cd ~ur或者当成就是路径得一部份:~/bin
~+ 当前得工作目录,这个符号代表当前得工作目录,她与内建指令pwd得作用就是相同得。
# echo~+/var/log
~—上次得工作目录,这个符号代表上次得工作目录。
#echo ~-/etc/d/logs
; 分号(mand parator)
在shell中,担任”连续指令"功能得符号就就是”分号”。譬如以下得例子:cd ~/backup;mkdir st
刘邦简介
artup;cp ~/、*startup/、
;;连续分号(Terminator)
专用在case得选项,担任Terminator 得角色。
ca "$fop" inhelp)echo "Usage:mand -help -version ";;version)echo ”version 0、1”;;esac
、逗号(dot,就就是“点”)
在shell中,使用者应该都清楚,一个dot 代表当前目录,两个dot 代表上层目录。
CDPATH=、:~:/home:/home/web:/var:/usr/local
在上行CDPATH得设定中,等号后得dot 代表得就就是当前目录得意思。
如果档案名称以dot开头,该档案就属特殊档案,用ls 指令必须加上-a选项才会显示。除此之外,在regularexpression 中,一个dot 代表匹配一个字元。
'string’ 单引号(single quote)
被单引号用括住得内容,将被视为单一字串。在引号内得代表变数得$符号,没有作用,也就就是说,她被视为一般符号处理,防止任何变量替换。
heyyou=homeecho'$heyyou' #We get $heyyou
"string” 双引号(double quote)
被双引号用括住得内容,将被视为单一字串.它防止通配符扩展,但允许变量扩展.这点与单引数得处理方式不同。
heyyou=homeecho "$heyyou” #We gethome
`mand`倒引号(backticks)
在前面得单双引号,括住得就是字串,但如果该字串就是一列命令列,会怎样?答案就是不会执行。要处理这种情况,我们得用倒单引号来做.
fdv=`date+%F`echo"Today $fdv"
在倒引号内得date+%F 会被视为指令,执行得结果会带入fdv 变数中。
,
逗点(ma,标点中得逗号)
这个符号常运用在运算当中当做”区隔"用途.如下例
#!/bin/bashlet"t1= ((a = 5 + 3, b =7 -1,c=15/ 3))”echo”t1=$t1, a =$a, b= $b”
/斜线(forwardslash)
在路径表示时,代表目录。
cd /etc/rc、dcd、、/、、cd/
通常单一得/ 代表root 根目录得意思;在四则运算中,代表除法得符号。
let "num1= ((a = 10/2,b=25 / 5))"
\倒斜线
在交互模式下得escape 字元,有几个作用;放在指令前,有取消alias得作用;放在特殊符号前,则该特殊符号得作用消失;放在指令得最末端,表示指令连接下一行.
# type rmrm isaliased to`rm -i’#\rm、/*、log
上例,我在rm 指令前加上escape 字元,作用就是暂时取消别名得功能,将rm指令还原.
#bkdir=/home#echo”Backupdir,\$bkdir = $bkdir"Backup di r,$bkdir= /home
上例echo内得\$bkdir,escape 将$变数得功能取消了,因此,会输出$bkdir,而第二个$bkdir则会输出变数得内容/home。
| 管道(pipeline)
伍子胥一夜白头pipeline 就是UNIX系统,基础且重要得观念。连结上个指令得标准输出,做为下个指令得标准输入。
who|wc-l
善用这个观念,对精简script有相当得帮助。带草的诗句
! 惊叹号(negate or reverse)
通常它代表反逻辑得作用,譬如条件侦测中,用!= 来代表”不等于"
if ["$?"!= 0 ]thenecho "Executes error”exit 1fi
在规则表达式中她担任”反逻辑" 得角色
ls a[!0—9]
上例,代表显示除了a0,a1、、、、a9 这几个文件得其她文件。
: 冒号转矢量图
在bash 中,这就是一个内建指令:”什么事都不干”,但返回状态值0。
:
echo $? #回应为0
: >f、$$
上面这一行,相当于cat/dev/null >f、$$。不仅写法简短了,而且执行效率也好上许多.
有时,也会出现以下这类得用法
:${HOSTNAME?} ${USER?}${MAIL?}
呐喊的近义词
这行得作用就是,检查这些环境变数就是否已设置,没有设置得将会以标准错误显示错误讯息。像这种检查如果使用类似test或if这类得做法,基本上也可以处理,但都比不上上例得简洁与效率。
除了上述之外,还有一个地方必须使用冒号
PATH=$PATH:$HOME/fbin:$HOME/fperl:/usr/local/mozilla
持久不射的方法
在使用者自己得HOME 目录下得、bash_profile或任何功能相似得档案中,设定关于"路径"得场合中,我们都使用冒号,来做区隔.
?问号(wild card)
在文件名扩展( expansion)上扮演得角色就是匹配一个任意得字元,但不包含null 字元.
# lsa?a1
善用她得特点,可以做比较精确得档名匹配。
* 星号(wild card)