资源描述:
《linux中特殊符号大全》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、在linux中你会用这些特殊符号吗?在shell中常用的特殊符号罗列如下:# ; ;; . , / 'string'
2、 ! $ ${} $? $$ $* "string"* ** ? : ^ $# $@ `command`{} [] [[]] () (())
3、
4、 && {xx,yy,zz,...}~ ~+ ~- & <...> + - %= == != #井号(commen
5、ts)这几乎是个满场都有的符号,除了先前已经提过的"第一行"#!/bin/bash井号也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后面的是注解文字,不会被执行。#Thislineiscomments.echo"a=$a"#a=0由于这个特性,当临时不想执行某行指令时,只需在该行开头加上#就行了。这常用在撰写过程中。#echo"a=$a"#a=0如果被用在指令中,或者引号双引号括住的话,或者在倒斜线的后面,那他就变成一般符号,不具上述的特殊功能。~帐户的home目录算是个常见的符号,
6、代表使用者的home目录:cd~;也可以直接在符号后加上某帐户的名称:cd~user或者当成是路径的一部份:~/bin~+当前的工作目录,这个符号代表当前的工作目录,她和内建指令pwd的作用是相同的。#echo~+/var/log~-上次的工作目录,这个符号代表上次的工作目录。#echo~-/etc/httpd/logs;分号(Commandseparator)在shell中,担任"连续指令"功能的符号就是"分号"。譬如以下的例子:cd~/backup;mkdirstartup;cp~/.*sta
7、rtup/.;;连续分号(Terminator)专用在case的选项,担任Terminator的角色。case"$fop"inhelp)echo"Usage:Command-help-versionfilename";;version)echo"version0.1";;esac8.逗号(dot,就是“点”)在shell中,使用者应该都清楚,一个dot代表当前目录,两个dot代表上层目录。CDPATH=.:~:/home:/home/web:/var:/usr/local在上行CDPATH的设定中
8、,等号后的dot代表的就是当前目录的意思。如果档案名称以dot开头,该档案就属特殊档案,用ls指令必须加上-a选项才会显示。除此之外,在regularexpression中,一个dot代表匹配一个字元。'string'单引号(singlequote)被单引号用括住的内容,将被视为单一字串。在引号内的代表变数的$符号,没有作用,也就是说,他被视为一般符号处理,防止任何变量替换。heyyou=homeecho'$heyyou'#Weget$heyyou"string"双引号(doublequote)被
9、双引号用括住的内容,将被视为单一字串。它防止通配符扩展,但允许变量扩展。这点与单引数的处理方式不同。heyyou=homeecho"$heyyou"#Wegethome`command`倒引号(backticks)在前面的单双引号,括住的是字串,但如果该字串是一列命令列,会怎样?答案是不会执行。要处理这种情况,我们得用倒单引号来做。fdv=`date+%F`echo"Today$fdv"在倒引号内的date+%F会被视为指令,执行的结果会带入fdv变数中。,逗点(comma,标点中的逗号)这个符号
10、常运用在运算当中当做"区隔"用途。如下例#!/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字元,有几个作用;放在指令前,有取消aliases的作用;放在特殊符号前,则该特
11、殊符号的作用消失;放在指令的最末端,表示指令连接下一行。#typermrmisaliasedto`rm-i'#rm./*.log上例,我在rm指令前加上escape字元,作用是暂时取消别名的功能,将rm指令还原。#bkdir=/home#echo"Backupdir,$bkdir=$bkdir"Backupdir,$bkdir=8/home上例echo内的$bkdir,escape将$变数的功能取消了,因此,会输出$bkdir,而第二个$bkdir则会输出变数的内容/home