linux特殊符号大全

发布时间:2023-03-09 14:47:39   来源:文档文库   
字号:
linux特殊符号大全
shell中常用的特殊符号罗列如下:
#;;;.,/\'string'|!$${}$?$$$*"string"***?:^$#$@`command`{}[][[]](((||&&{xx,yy,zz,...}~~+~-&\<...\>+-%===!=#井号
(comments这几乎是个满场都有的符号,除了先前已经提过的"第一行"#!/bin/bash井号也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后面的是注解文字,不会被执行。
#Thislineiscomments.echo"a=$a"#a=0由于这个特性,当临时不想执行某行指令时,只需在该行开头加上#就行了。这常用在撰写过程中。
#echo"a=$a"#a=0如果被用在指令中,或者引号双引号括住的话,或者在倒斜线的后面,那他就变成一般符号,不具上述的特殊功能。~帐户的home目录
算是个常见的符号,代表使用者的home目录:cd~也可以直接在符号后加上某帐户的名称:cd~user或者当成是路径的一部份:~/bin~+当前的工作目录,这个符号代表当前的工作目录,她和内建指令pwd的作用是相同的。
#echo~+/var/log~-上次的工作目录,这个符号代表上次的工作目录。
#echo~-/etc/httpd/logs;分号
(Commandseparatorshell中,担任"连续指令"功能的符号就是"分号"。譬如以下的例子:cd~/backup;mkdirstartup;cp~/.*startup/.;;连续分号
(Terminator专用在case的选项,担任Terminator的角色。
case"$fop"inhelpecho"Usage:Command-help-versionfilename";;versionecho"version0.1";;esac.逗号(dot,就是
shell中,使用者应该都清楚,一个dot代表当前目录,两个dot代表上层目录。CDPATH=.:~:/home:/home/web:/var:/usr/local在上行CDPATH的设定中,等号后的dot代表的就是当前目录的意思。
如果档案名称以dot开头,该档案就属特殊档案,用ls指令必须加上-a选项才会显示。除此之外,在regularexpression中,一个dot代表匹配一个字元。'string'单引号
(singlequote被单引号用括住的内容,将被视为单一字串。在引号内的代表变数的$符号,没有作用,也就是说,他被视为一般符号处理,防止任何变量替换。heyyou=homeecho'$heyyou'#Weget$heyyou"string"双引号
(doublequote被双引号用括住的内容,将被视为单一字串。它防止通配符扩展,但允许变量扩展。这点与单引数的处理方式不同。
heyyou=homeecho"$heyyou"#Wegethome
`command`倒引号(backticks在前面的单双引号,括住的是字串,但如果该字串是一列命令列,会怎样?答案是不会执行。要处理这种情况,我们得用倒单引号来做。
fdv=`date+%F`echo"Today$fdv"在倒引号内的date+%F会被视为指令,执行的结果会带入fdv变数中。,逗点(comma,标点中的逗号
这个符号常运用在运算当中当做"区隔"用途。如下例
#!/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的作用;放在特殊符号前,则该特殊符号的作用消失;放在指令的最末端,表示指令连接下一行。
#typermrmisaliasedto`rm-i'#\rm./*.log上例,我在rm指令前加上escape字元,作用是暂时取消别名的功能,将rm指令还原。
#bkdir=/home#echo"Backupdir,\$bkdir=$bkdir"Backupdir,$bkdir=/home上例echo内的\$bkdirescape$变数的功能取消了,因此,会输出$bkdir而第二个$bkdir则会输出变数的内容/home|管道
(pipelinepipelineUNIX系统,基础且重要的观念。连结上个指令的标准输出,做为下个指令的标准输入。
who|wc-l善用这个观念,对精简script有相当的帮助。!惊叹号(negateorreverse通常它代表反逻辑的作用,譬如条件侦测中,用!=来代表"不等于"if["$?"!=0]thenecho"Executeserror"exit1fi在规则表达式中她担任"反逻辑"的角色
lsa[!0-9]上例,代表显示除了a0,a1....a9这几个文件的其他文件。:冒号
bash中,这是一个内建指令:"什么事都不干",但返回状态值0
:echo$?#回应为0:>f.$$上面这一行,相当于cat/dev/null>f.$$。不仅写法简短了,而且执行效率也好上许多。有时,也会出现以下这类的用法
:${HOSTNAME?}${USER?}${MAIL?}这行的作用是,检查这些环境变数是否已设置,没有设置的将会以标准错误显示错误讯息。像这种检查如果使用类似testif这类的做法,基本上也可以处理,但都比不上上例的简洁与效率。
除了上述之外,还有一个地方必须使用冒号

本文来源:https://www.2haoxitong.net/k/doc/c209cdc8370cba1aa8114431b90d6c85ec3a88c7.html

《linux特殊符号大全.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式