- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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=
您可能关注的文档
- 一年级新生家长会(数学).ppt
- 一二级联动开发.ppt
- 三上18《小稻秧脱险记》课件.ppt
- 样板间施工方案(全).doc
- 杭州电子科技大学《线性代数A》试题A卷.doc
- 林业资源信息管理系统建设方案.doc
- 架子工班前安全活动记录.doc
- 某某企业高性能铝合金项目申请报告(年产50000吨汽车用轻量化高性能铝合金项目).doc
- 机械手分拣装置组装与调试项目教学设计.doc
- 2017年广州二模作文写作指导和立意分析.pptx
- 《GB/T 17737.9-2024同轴通信电缆 第9部分:柔软射频同轴电缆分规范》.pdf
- GB/T 17737.9-2024同轴通信电缆 第9部分:柔软射频同轴电缆分规范.pdf
- 中国国家标准 GB/T 17737.9-2024同轴通信电缆 第9部分:柔软射频同轴电缆分规范.pdf
- GB/T 44003-2024力学性能测量 REBCO涂层导体(镀铜)脱层强度测试方法.pdf
- 中国国家标准 GB/T 44021.2-2024音视频及相关设备 功耗测量 第2部分:测试信号和媒介.pdf
- 《GB/T 44021.2-2024音视频及相关设备 功耗测量 第2部分:测试信号和媒介》.pdf
- GB/T 44021.2-2024音视频及相关设备 功耗测量 第2部分:测试信号和媒介.pdf
- GB/T 43962.1-2024动力电池数字化车间集成 第1部分:通用要求.pdf
- 2024广西南宁市江南区教育局面向南宁市公办学校招募中学支教志愿者88人笔试备考试题及答案解析.docx
- 2024广西合浦县山口镇人民政府公开招聘村级防贫监测信息员2人笔试备考试题及答案解析.docx
文档评论(0)