bash编程教学实例

2016-01-29 18:35 7 1 收藏

bash编程教学实例,bash编程教学实例

【 tulaoshi.com - Linux 】

bash编程 --------------------------------------------------------------------------------時間:2004/03/02    來源:不详   Shell Script(bash)简介   众所皆知地,UNIX上以小工具著名,利用许多简单的小工具,来完成原本需要大量软体开发的工作,这一点特色,使得UNIX成为许多人心目中理想的系统平台。   在众多的小工具中,Shell Script算得上是最基本、最强大、运用最广泛的一个。它运用围之广,不但从系统启动、程式编译、定期作业、上网连线,甚至安装整个Linux系统,都可以用它来完成。
  因为ShellScript是利用您平日在使用的一些指令,将之组合起来,成为一个"程式"。如果您平日某些序列的指令下得特别频繁,便可以将这些指令组合起来,成为另一个新的指令。这样,不但可以简化并加速操作速度,甚至还可以干脆自动定期执行,大大简化系统管理工作。   *************************  Bash(GNU Bourne-AgainSHell)是许多Linux平台的内定Shell,事实上,还有许多传统UNIX上用的Shell,像tcsh、csh、ash、bsh、ksh等等,Shell Script大致都类同,当您学会一种Shell以后,其它的Shell会很快就上手,大多数的时候,一个ShellScript通常可以在很多种Shell上使用。   这里我介绍您bash的使用方法。事实上,当您"manbash"时,就可以看到bash的说明书,不过对许多人来说,这份说明书犹如"无字天书"一样难懂。这份文件,主要资料来源为"manbash",我加上一些实际日常的应用例来说明。希望这样能让那些始终不得其门而入的人们,多多少少能有点概念。   教学例子   "Hello world" Shell Script   照传统程式教学例,这一节介绍Shell Script的"Hello World"如何撰写。   *************************  #!/bin/sh   # Filename : hello   echo "Hello world!"   *************************  大家应该会注意到第一行的"#!/bin/sh"。在UNIX下,所有的可执行Script,不管是那一种语言,其开头都是"#!",例如Perl是"#!/usr/bin/perl",tcl/tk是"#!/usr/bin/wish",看您要执行的Script程式位置在那里。您也可以用"#!/bin/bash"、"#!/bin/tcsh"等等,来指定使用特定的Shell。   echo是个bash的内建指令。   *************************  接下来,执行hello这个script:   要执行一个Script的方式有很多种。   *************************  第一种 : 将hello这个档案的权限设定为可执行。   [foxman@foxman bash]# chmod 755 hello   执行   [foxman@foxman bash]# ./hello   hello world   *************************  第二种 : 使用bash内建指令"source"或"."。   [foxman@foxman bash]# source hello   hello world   或   [foxman@foxman bash]# . hello   hello world   *************************  第三种 : 直接使用sh/bash/tcsh指令来执行。   [foxman@foxman bash]# sh hello   hello world   或   [foxman@foxman bash]# bash hello   hello world   *************************  Bash执行选项   *************************  -c string : 读取string来当命令。   -i : 互动介面。   -s : 由stdin读取命令。   - : 取消往后选项的读取。   -norc : 不要读~/.bashrc来执行。   -noprofile : 不要读/etc/profile、~/.bash_profile、~/.bash_login、~/.profile等等来执行。   -rcfile filename : 执行filename,而非~/.bashrc   -version : 显示版本。   -quiet : 启动时不要哩唆。   -login : 确保bash是个login shell。   -nobraceexpansion : 不要用curly brace expansion({}符号展开)。   -nolineediting : 不用readline来读取命令列。   -posix : 改采Posix 1003.2标准。   用于自动备份的Shell Script   一个用于自动备份的Shell Script   我们先前提到,可利用Shell Script搭配crond来作定期的工作。要作定期性的工作,在UNIX上,就是与crond的搭配运用。   *************************  首先我们先来研究如何对系统进行备份。   要对系统进行备份,不外乎便是利用一些压缩工具。在许多UNIX系统上,tar及gzip是defacto的资料交换标准。我们经常可以看见一些tar.gz或tgz档,这些档案,被称为tarball。当然了,您也可以用bzip2、zip等等压缩工具来进行压缩,不必限定于gzip。但tar配合gzip是最普遍的,也是最方便的方式。   要将我们想要的资料压缩起来,进行备份,可以结合tar及gzip一起进行。方式有很多种,最常用的指令是以下这一种:   tar -c file/dir ... | gzip -9 > xxxx.tar.gz   您也可以分开来做:   tar -r file/dir ... -f xxxx.tar   gzip -9 xxxx.tar   或   tar -r file/dir ... -f xxxx.tar   gzip -9 < xxxx.tar

来源:http://www.tulaoshi.com/n/20160129/1506455.html

延伸阅读
标签: ASP
  本文是一篇实例讲解的文章。作为一个普通的程序员,我深知,一个优秀的例程,对于正在学习编程的人是多么的有帮助。本文中使用的例程,是一个联系信息管理程序,我也是写来以方便自己和朋友们互相联系用的。但麻雀虽小,五脏俱全,相信对正在学习ASP+XML编程的朋友们,还是具备一定的参考价值的。 读者可以通过此实例,了解在...
单个写入程序/多个阅读程序在.Net类库中其实已经提供了实现,即System.Threading.ReaderWriterLock类。本文通过对常见的单个写入/多个阅读程序的分析来探索c#的多线程编程。 问题的提出 所谓单个写入程序/多个阅读程序的线程同步问题,是指任意数量的线程访问共享资源时,写入程序(线程)需要修改共享资源,而阅读程序(线程)...
标签: ASP
  五、程序首页(default.asp) 调用相应的包含文件和公共函数,格式化XML文件,并进行显示。可以看到,页面Title是可定制的,公共的头部和尾部都做成了相应的包含文件。C_TITLE、C_XMLFILE和C_XSLFILE为公共常量,在constpub.asp文件中定义,至于它们的意义,相信读者可以很容易地明白。这里调用了上面定义的FormatXml函数。 ...
标签: Web开发
一直以来,我都主要是做winform方面的编程,最近做了点web方面的,所以也研究了几天的javascript。偶有心得故记之: 应用面向对象的思想在javascript中同样适用,关键的是你敢不敢用,想不想用。 我曾使用vs2005编写了一个vs2003工具箱完全类似的导航工具条,我比较喜欢在winform中通过这种方式向用户提供应用程序功能的导航。所...
野外风光人像摄影实例教学   一、晨霞剪影 1.拍摄思路 拍摄地点位于霞浦北兜,凌晨四点十分到达北兜,因为路十分难认,所以要提前出发与到达。到达地点后,并没有很高的位置可供拍摄,拍摄点只能在沙滩边上,架好三角架找到机位后,看到一条渔船因为退潮搁浅在沙滩上,突然产生一个想法,用这条搁浅的渔船作为主体,海面上...

经验教程

159

收藏

31
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部