阅 读 文 章

30分钟搞定BASH脚本编程!

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(不详) | 时间:2007-07-07 | 浏览:人次 ]

 
chu888@263.net
一个最简单的脚本
这篇指南将通过一些例子来帮助大家学习功能强大的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
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 编程 脚本 搞定 分钟 一个 echo 这个 /bin/bash 变量

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.