- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BASH脚本编程入门 一个最简单的脚本 一个最经典的Hello World程序 #!/bin/bash echo Hello World 这个脚本只有二行,它的第一行这个脚本程序由那个程序来解释.第二行只有一个简单的动作,它的功能是在终端上打印出一行”Hello World” 。如果你测试着执行这个命令时(./hello.sh),你将会得到一个command not found的信息,这种情况大部分可能是你的第一行#!/bin/bash这个程序有问题,你一定要确保bash可以找到并且可用。(一般情况下你还要对这个脚本附一个可执行权限) 一个非常简单的备份脚本 #!/bin/bash tar czvf seqs.tar.gz seqs/ 标准输出 这个例子将会使ls的显示结果重定向到一个文件中. ls -l ls-l.txt 标准错误 $!@$$!$@ grep-errors.txt 管道 管道可以使你非常方便的将一个程序的结果转向到另外一个程序中。 一个sed的例子 这个例子使用了非常简单的管道功能: ls -l | sed -e s/[fasta]/u/g ls -l | sed -e s/fasta/u/g 变量 你可在任何编程语言中使用变量,但是在脚本编程中它们是没有类型的,简称弱类型编程语言,在这个变量中可以保含一个数字,一个字符串,一个单词等。你并不需要声明这个变量,它会在引用这个变量时创建它。 使用变量来实现一个简单的Hello World #!/bin/bash STR=Hello World! echo $STR 变量 第二行建立一个STR的变量并且为其附了一个“Hello World”的字符串变量值。当在这个变量前面加上一个$符号时,我们就将会得到这个变量的值。 例子(一个使用变量的备份脚本) #!/bin/bash OF=seqs.tar.gztar zxvf $OF ./ 条件语句 条件语句可以使你决定是完成一个运作或是不去完成一个动作时,通过一些判断来实现,一般情况都是通过一些操作符来实现判断。 条件语句可以有许多实现方法,最多的情况是基于if expression then 这种情况,也就是大家常常说的if判断语句。它的语法基本结构如下: if [expression]; then code if expression is true. fi 一个最基本的使用if ...then的例子 #!/bin/bash if [ foo = foo ]; then echo expression evaluated as true fi 条件语句 这段代码执行if判断,如果foo等于foo的话,那么你就会执行then语句下的输出语句,最后通过fi来结束,这里我要强调一点,就是很多新手在输入源码时特别是在if 语句后面没有空格,在大括号后面没有空格,在等号两边没有空格,这些都会制造出一些麻烦的。 一个简单的控制if .. then ...else #!/bin/bash if [ foo = foo ]; then echo expression evaluated as true else echo expression evaluated as false fi 通过变量进行判断控制 #!/bin/bash T1=foo T2=bar if [ $T1 = $T2 ]; then echo expression evaluated as true else echo expression evaluated as false fi 循环结构 对于for 循环它有一点不同于其他的编程语言,它有一点像VB中的for each语句,就是所谓的递归的循环。 对于while循环,它其实是一个加强的if语句,如果它的条件为真,那么它就一直执行while循环中的语句中的内容。 7.1 For sample #!/bin/bash for i in $( ls ); do echo item: $i done 循环结构 在第二行上,我们声明了一个i的变量,它将一直将ls命令的结果全部循环出来。其中do 和done之间是所要执行的代码。 While循环例子 #!/bin/bash COUNTER=0 while [ $COUNTER -lt 10 ]; do echo The counter is $COUNTER let COUNTER=COUNTER+1 done 循环结构 这里面大家可能看到一个-lt的命令选项,这里它代表小于等于 -eq 等于 -ne
文档评论(0)