linux脚本编程(shell)浅介

linux脚本编程(shell)浅介

ID:41037281

大小:50.50 KB

页数:9页

时间:2019-08-14

linux脚本编程(shell)浅介_第1页
linux脚本编程(shell)浅介_第2页
linux脚本编程(shell)浅介_第3页
linux脚本编程(shell)浅介_第4页
linux脚本编程(shell)浅介_第5页
资源描述:

《linux脚本编程(shell)浅介》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、linux脚本编程(shell)浅介linux下最重要的脚本语言算是bash了,我也就写点这个吧(我也只会这个:))。跟其他开发语言(如C)比,bash是比较简单的一种语言,主要用于写一些脚本代码,一些批处理或安装程序。你可以看看在/etc/init.d/目录下,那里就有很多用来控制各个服务的脚本文件。先看一个“helloworld!”的例子:在某个目录下新建一个文件,叫hello.sh,敲入以下代码:#!/bin/shecho"helloworld!"好,就这些。保存,在命令提示符下进入保存“hell

2、o.sh”的目录,这样执行:#shhello.sh(回车)看到了吧?哈哈,不过你高兴的不要太早了,只并不能说明什么,就象你在其他编程环境中做的“helloworld.”一样,离高手的距离还远着呢。我们先看看bash脚本中变量的使用。修改上面的“helloworld!”的例子,改成下面的样子:#!/bin/bash#Thisisaverysimpleexamplestr="helloworld!"echo$str保存后按照上面的方法执行该脚本,你将看到和以前一样的效果。我们看看每一句的意义:第一行,#!是

3、说明hello.sh这个文件的类型的,有点类似Windows系统下用文件后缀来表示不同文件类型的意思。Linux系统根据"#!"及该字串后面的信息确定该文件的类型。在BASH中第一行的"#!"及后面的"/bin/bash"就表明该文件是一个BASH程序,需要由/bin目录下的bash程序来解释执行。BASH这个程序一般是存放在/bin目录下。这一行的写法是固定的。第二行的"#Thisisa..."就是BASH程序的注释,在BASH程序中从“#”号(没有“!”号)开始到行尾的部分均被看作是程序的注释,相当

4、于C/C++语言中的“//”。第三行是为一个名称为str的变量赋值。第四行的echo语句的功能是把echo后面的字符串或变量的内容输出到标准输出中去。需要注意的是BASH中的绝大多数语句结尾处都没有分号。对于第三行,可能有人会问:在C/C++中,变量都属于某个类型,在这变量str的类型是什么呢?在BASH中变量定义是不需要的,没有"inti"这样的定义过程。如果想用一个变量,只要他没有在前面被定义过,就直接可以用,当然你使用该变量的第一条语句应该是对他赋初值了,如果你不赋初值也没关系,只不过该变量是空(

5、注意:是NULL,不是0)。关于变量的使用,要注意以下几点:一,变量赋值时,“=”左右两边都不能有空格;二,BASH中的语句结尾不需要分号(";");三,除了在变量赋值和在FOR循环语句头中,BASH中的变量使用必须在变量前加"$"符号。在比较详细的bash文档中,会规定使用变量要采用这样的形式:${STR},如果你的脚本出了莫名其妙的错误,不妨看看是不是这个问题造成的。BASH中的变量既然不需要定义,也就没有类型一说,那是不是一个变量既可以存放整数,也可以存放字符串呢?对!一个变量即可以被定义为一个字

6、符串,也可以被再定义为整数。如果对该变量进行整数运算,他就被解释为整数;如果对他进行字符串操作,他就被看作为一个字符串。请看下面的例子:#!/bin/bashx=2006let"x=$x+1"echo$xx="astring."echo$x执行一下看看?又出现了新的关键字:let。关于整数变量计算,有如下几种:"+-*/%",他们的意思和字面意思相同,在*和/之前必须冠以反斜线,已防被SHELL先行解释。整数运算一般通过let和expr这两个指令来实现,如对变量x加1可以写作:let"x=$x+1"或者

7、x=`expr$x+1`关于运行时参数,我们在执行脚本时有时很想传个参数进去,如:#shmysh.shhdz(回车)好,很简单,在bash中,使用这样传进来的变量时也要在前面加“$”符号。$#传入脚本的命令行参数个数;$*所有命令行参数值,在各个参数值之间留有空格;位置变元$0命令本身(shell文件名)$1第一个命令行参数;$2第二个命令行参数;...好,编辑以下脚本:#!/bin/shecho"numberofvars:"$#echo"valuesofvars:"$*echo"valueofvar1

8、:"$1echo"valueofvar2:"$2echo"valueofvar3:"$3echo"valueofvar4:"$4保存文件名为my.sh,执行时传入参数:#shmy.shabcde(回车),看到结果你就会更清楚各个变量的意思。如果访问的参数在执行时没有传入,如有一条这样的代码:echo"valueofvar4:"$100而在执行时并没有输入100个参数,那取得的值为NULL。在BASH程序中如果一个变量被使用了,那么直到该程序

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。