BASH脚本编程入门.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

BASH脚本编程入门

一个最简单的脚本一个最经典的HelloWorld程序#!/bin/bashechoHelloWorld这个脚本只有二行,它的第一行这个脚本程序由那个程序来解释.第二行只有一个简单的动作,它的功能是在终端上打印出一行”HelloWorld”。如果你测试着执行这个命令时〔./hello.sh〕,你将会得到一个commandnotfound的信息,这种情况大局部可能是你的第一行#!/bin/bash这个程序有问题,你一定要确保bash可以找到并且可用。(一般情况下你还要对这个脚本附一个可执行权限)

一个非常简单的备份脚本#!/bin/bash

tarczvfseqs.tar.gzseqs/

标准输出这个例子将会使ls的显示结果重定向到一个文件中.ls-lls-l.txt

标准错误$!@$$!$@grep-errors.txt

管道管道可以使你非常方便的将一个程序的结果转向到另外一个程序中。一个sed的例子这个例子使用了非常简单的管道功能:ls-l|sed-es/[fasta]/u/gls-l|sed-es/fasta/u/g

变量你可在任何编程语言中使用变量,但是在脚本编程中它们是没有类型的,简称弱类型编程语言,在这个变量中可以保含一个数字,一个字符串,一个单词等。你并不需要声明这个变量,它会在引用这个变量时创立它。使用变量来实现一个简单的HelloWorld#!/bin/bash

STR=HelloWorld!

echo$STR

变量第二行建立一个STR的变量并且为其附了一个“HelloWorld”的字符串变量值。当在这个变量前面加上一个$符号时,我们就将会得到这个变量的值。例子〔一个使用变量的备份脚本〕#!/bin/bash

OF=seqs.tar.gz

tarzxvf$OF./

条件语句条件语句可以使你决定是完成一个运作或是不去完成一个动作时,通过一些判断来实现,一般情况都是通过一些操作符来实现判断。条件语句可以有许多实现方法,最多的情况是基于ifexpressionthen这种情况,也就是大家常常说的if判断语句。它的语法根本结构如下:if[expression];

then

codeifexpressionistrue.

fi一个最根本的使用if...then的例子#!/bin/bash

if[foo=foo];then

echoexpressionevaluatedastrue

fi

条件语句这段代码执行if判断,如果foo等于foo的话,那么你就会执行then语句下的输出语句,最后通过fi来结束,这里我要强调一点,就是很多新手在输入源码时特别是在if语句后面没有空格,在大括号后面没有空格,在等号两边没有空格,这些都会制造出一些麻烦的。一个简单的控制if..then...else#!/bin/bashif[foo=foo];thenechoexpressionevaluatedastrueelseechoexpressionevaluatedasfalsefi

通过变量进行判断控制#!/bin/bashT1=fooT2=barif[$T1=$T2];thenechoexpressionevaluatedastrueelseechoexpressionevaluatedasfalsefi

循环结构对于for循环它有一点不同于其他的编程语言,它有一点像VB中的foreach语句,就是所谓的递归的循环。对于while循环,它其实是一个加强的if语句,如果它的条件为真,那么它就一直执行while循环中的语句中的内容。7.1Forsample#!/bin/bashforiin$(ls);doechoitem:$idone

循环结构在第二行上,我们声明了一个i的变量,它将一直将ls命令的结果全部循环出来。其中do和done之间是所要执行的代码。While循环例子#!/bin/bashCOUNTER=0while[$COUNTER-lt10];doechoThecounteris$COUNTERletCOUNTER=COUNTER+1done

循环结构这里面大家可能看到一个-lt的命令选项,这里它代表小于等于-eq等于-ne不等于-gt大于-ge大于等于-lt小于-le小于等于

Until的例子

#!/bin/bashCOUNTER=

您可能关注的文档

文档评论(0)

199****8042 + 关注
实名认证
内容提供者

相信自己,相信明天

1亿VIP精品文档

相关文档