欢迎来到天天文库
浏览记录
ID:40558982
大小:68.50 KB
页数:14页
时间:2019-08-04
《linux的_shell编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Linux下的shell编程注释:1echo"The#heredoesnotbeginacomment。"2echo'The#heredoesnotbeginacomment。'3echoThe#heredoesnotbeginacomment。4echoThe#herebeginsacomment。6echo${PATH#*:}#前面的#是参数代换,不是注释。7echo$((2#101011))#基本转换,不是注释。"点"命令[圆点]。等同于source。这是一个bash的内建命令。[双引号]。
2、"STRING"的引用会使STRING里的特殊字符能够被解释。#和php一样[单引号]。'STRING'能引用STRING里的所有字符(包括特殊字符也会被原样引用)。[逗号]。逗号操作符用于连接一连串的数学表达式。这一串的数学表达式每一个都被求值,但只有最后一个被返回。1let"t2=((a=9,15/3))"#Set"a=9"and"t2=15/3"命令替换.`command`结构使字符(`)[译者注:这个字符不是单引号,而是在标准美国键盘上的ESC键下面,在字符1左边,在TAB键上面的那个键,要
3、特别留心]引住的命令(command)执行结果能赋值给一个变量。#执行一条命令并将值赋给变量空命令[冒号].这个命令意思是空操作(即什么操作也不做).它一般被认为是和shell的内建命令true是一样的。冒号":"命令是Bash自身内建的,andits它的退出状态码是真(即0)。[译者注:shell中真用数字0表示].:>data.xxx#文件"data.xxx"现在长度为0了$变量替换(引用一个变量的内容).1var1=52var2=23skidoo34echo$var1#55echo$var2#
4、23skidoo${parameter}参数替换和$parameter是相同的,都是表示变量parameter的值。在一些环境中,使用${parameter}比较不会引起误解.$*,显示所有参数的值。"$*"必须被引号引起来。$@,和$*相同,但每个参数都是一个引起的字符串。那是说,参数都是没有被解析或扩展,是完整无缺地被传递的。这是说在参数列表中的每一个参数都被看作是一个单独的单元。"$@"应该被引号引起来。$#:参数的个数$?变量保存了最后一个命令执行后的退出状态。$$脚本本身的进程PID。()
5、一组由圆括号括起来的命令是新开一个子shell来执行的.因为是在子shell里执行,在圆括号里的变量不能被脚本的其他部分访问。a=123(a=hello;echo$a)数组初始化.Array=(element1element2element3){xxx,yyy,zzz,...}在扩展中的所有模式都不能包含空白字符,除非空白字符是被转义或引用的。cat{file1,file2,file3}>combined_file#连接file1,file2,和file3的内容并写到文件combined_file里
6、去.cpfile22.{txt,backup}#拷贝"file22.txt"内容为"file22.backup"{}代码块[花括号].这个结构也是一组命令代码块,事实上,它是匿名的函数。在代码块里的变量仍然能被脚本后面的代码访问a=123{a=321;}echo"a=$a"#a=321(结果是在代码块里的值)scriptname>filename重定向scriptname的输出到文件filename中去.如果文件filename存在则将会被覆盖.command&>filename会重定向命令comm
7、and标准输出(stdout)和标准错误(stderr)到文件filename中.command>&2把命令command的标准输出(stdout)重定向到标准错误(stderr).scriptname>>filenameappends把脚本scriptname的输出追加到文件filename.如果filename不存在,则它会被创建.常用FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),输出的默认值为1:1>,输入的默认值为0:0f
8、ile把stdout重定向到file文件中cmd>>file把stdout重定向到file文件中(追加)cmd1>fiel把stdout重定向到file文件中cmd>file2>&1把stdout和stderr一起重定向到file文件中cmd2>file把stderr重定向到file文件中cmd2>>file把stderr重定向到file文件中(追加)cmd>>file2>&1把stderr和stderr一起重定向到file文件中cmdfile2cmd命令
此文档下载收益归作者所有