分钟搞定BASH脚本编程.doc

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

一个最简单的脚本 这篇指南将通过一些例子来帮助大家学习功能强大的shell脚本编程. 在这一节中我将学习一些简单的脚本,它将有利于你深入学习一些知识。 一个最经典的Hello World程序 #!/bin/bash echo Hello World 这个脚本只有二行,它的第一行这个脚本程序由那个程序来解释.第二行只有一个简单的动作,它的功能是在终端上打印出一行”Hello World” 。如果你测试着执行这个命令时(./hello.sh),你将会得到一个command not found的信息,这种情况大部分可能是你的第一行#!/bin/bash这个程序有问题,你一定要确保bash可以找到并且可用。(一般情况下你还要对这个脚本附一个可执行权限) #chmod u+x hello.sh 一个非常简单的备份脚本 #!/bin/bash tar -cZf /var/my-backup.tgz /home/me/ 在这个脚本中,它替换了上一个例子的将一行信息打印在终端上的功能,取尔代之的是一个备份/home目录的tar备份命令。 关于重定向的一些信息 最基本的理论基础 这里有对于三个文件的重定向定义: stdin(标准输入), stdout(标准输出) and stderr(标准错误输出) (std=standard). 基本上你可以 1. 重定向 stdout 到一个文件 2. 重定向 stderr 到一个文件 3. 重定向 stdout 到stderr 4. 重定向 stderr 到 stdout 5. 重定向 stderr 到 stdout 中并且成为一个文件 6. 重定向 stderr and stdout to stdout 7. 重定向 stderr and stdout to stderr 在Linux中 1代表 标准输出, 2代表’标准错误’ 标准输出 这个例子将会使ls的显示结果重定向到一个文件中. ls -l ls-l.txt 标准错误 这个例子将会使grep命令在运行过程中出现的错误输出到一个文件中 grep da * 2 grep-errors.txt 管道 这一节我们将解释一个非常简单的并且你以后一定会用到的功能,它就是管道。 为什么大家都会用到管道? 管道可以使你非常方便的将一个程序的结果转向到另外一个程序中。 一个sed的例子 这个例子使用了非常简单的管道功能: ls -l | sed -e s/[aeio]/u/g 当我们执行以下命令后:首先ls –l会先执行并且它会输出结果信息但是如果它的后面跟是一个管道符的话,那么它就会将结果重新定向到sed这个程序中,sed使用了替换功能,所以这个例子执行完会,会将ls –l结果中所有含有aeio的英文单词替换成单词u. 通过另外的方法实现ls –l *.txt 也许这种方法不同于ls –l *.txt,但是它避免了出现一条 No Such file Or Directory这种信息。 ls -l | grep .txt 当ls –l 执行后,它会将程序结果输出到grep这个程序中,并且去匹配.txt这条信息。 变量 你可在任何编程语言中使用变量,但是在脚本编程中它们是没有类型的,简称弱类型编程语言,在这个变量中可以保含一个数字,一个字符串,一个单词等。你并不需要声明这个变量,它会在引用这个变量时创建它。 使用变量来实现一个简单的Hello World #!/bin/bash STR=Hello World! echo $STR 第二行建立一个STR的变量并且为其附了一个“Hello World”的字符串变量值。当在这个变量前面加上一个$符号时,我们就将会得到这个变量的值。 例子(一个使用变量的备份脚本) #!/bin/bash OF=/var/my-backup-$(date +%Y%m%d).tgz tar -cZf $OF /home/me/ 局部变量 局部变量的生命是有限的,请看下面的例子 #!/bin/bash HELLO=Hello function hello { local HELLO=World echo $HELLO } echo $HELLO hello echo $HELLO 条件语句 条件语句可以使你决定是完成一个运作或是不去完成一个动作时,通过一些判断来实现,一般情况都是通过一些操作符来实现判断。 条件语句可以有许多实现方法,最多的情况是基于if expression then 这种情况,也就是大家常常说的if判断语句。它的语法基本结构如下: if [expression]; the

文档评论(0)

hh83kxy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档