shell的特殊符号的意义

shell的特殊符号的意义

ID:37713077

大小:32.58 KB

页数:12页

时间:2019-05-29

shell的特殊符号的意义_第1页
shell的特殊符号的意义_第2页
shell的特殊符号的意义_第3页
shell的特殊符号的意义_第4页
shell的特殊符号的意义_第5页
资源描述:

《shell的特殊符号的意义》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、shell脚本中一些特殊符号在shell中常用的特殊符号罗列如下: #;  ;;.,/\'string'

2、!  $  ${}  $?$$  $* "string"***  ?:^$#  $@`command`{}  [][[]]()  (()) 

3、

4、  &&{xx,yy,zz,...}~  ~+  ~-  &  \<...\>  +-%=  ==  !=    #井号(comments) 这几乎是个满场都有的符号,除了先前已经提过的"第一行" #!/bin/bash 井号也常出现在一行的开头,或者位于完整指令之后

5、,这类情况表示符号后面的是注解文字,不会被执行。 #Thislineiscomments. echo"a=$a"#a=0 由于这个特性,当临时不想执行某行指令时,只需在该行开头加上#就行了。这常用在撰写过程中。 #echo"a=$a"#a=0 如果被用在指令中,或者引号双引号括住的话,或者在倒斜线的后面,那他就变成一般符号,不具上述的特殊功能。 ~帐户的home目录 算是个常见的符号,代表使用者的home目录:cd~;也可以直接在符号后加上某帐户的名称:cd~user或者当成是路径的一部份:~/bin ~+当前的工作目

6、录,这个符号代表当前的工作目录,她和内建指令pwd的作用是相同的。 #echo~+/var/log ~-上次的工作目录,这个符号代表上次的工作目录。 #echo~-/etc/httpd/logs ;分号(Commandseparator) 在shell中,担任"连续指令"功能的符号就是"分号"。譬如以下的例子:cd~/backup;mkdirstartup;cp~/.*startup/. ;;连续分号(Terminator) 专用在case的选项,担任Terminator的角色。 case"$fop"inhelp)

7、echo"Usage:Command-help-versionfilename";;version)echo"version0.1";;esac .逗号(dot,就是“点”) 在shell中,使用者应该都清楚,一个dot代表当前目录,两个dot代表上层目录。 CDPATH=.:~:/home:/home/web:/var:/usr/local 在上行CDPATH的设定中,等号后的dot代表的就是当前目录的意思。 如果档案名称以dot开头,该档案就属特殊档案,用ls指令必须加上-a选项才会显示。除此之外,在regular

8、expression中,一个dot代表匹配一个字元。 'string'单引号(singlequote) 被单引号用括住的内容,将被视为单一字串。在引号内的代表变数的$符号,没有作用,也就是说,他被视为一般符号处理,防止任何变量替换。 heyyou=homeecho'$heyyou'#Weget$heyyou "string"双引号(doublequote) 被双引号用括住的内容,将被视为单一字串。它防止通配符扩展,但允许变量扩展。这点与单引数的处理方式不同。 heyyou=homeecho"$heyyou"#Weget

9、home `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=$

10、b" /斜线(forwardslash) 在路径表示时,代表目录。 cd/etc/rc.dcd../..cd/ 通常单一的/代表root根目录的意思;在四则运算中,代表除法的符号。 let"num1=((a=10/2,b=25/5))" \倒斜线 在交互模式下的escape字元,有几个作用;放在指令前,有取消aliases的作用;放在特殊符号前,则该特殊符号的作用消失;放在指令的最末端,表示指令连接下一行。 #typermrmisaliasedto`rm-i'#\rm./*.log 上例,我在rm指令前加上escap

11、e字元,作用是暂时取消别名的功能,将rm指令还原。 #bkdir=/home#echo"Backupdir,\$bkdir=$bkdir"Backupdir,$bkdir=/home 上例echo内的\$bkdir,escape将$变数的功能取消了,因此,会输出$bk

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。