第3章shell编程精选.ppt

第3章 shell编程基础 3.1 shell脚本简介 shell——命令解释器,其主要功能是负责解释和执行命令行上键入的内容。 shell也提供了完善的编程能力。 流行的shell有多种,如Bash、Tcsh、Ksh等。 3.1.1 编写第一个shell脚本 [root@server root]#vi e1.sh 内容如下: #!/bin/sh echo “Hello,world!” 说明: shell脚本是按行解释的,每个脚本的第一行总是以#!/bin/sh开头 。 3.1.2 注释 在shell脚本中, 以“#”开头的行表示注释 shell将忽略对该行的处理,即不进行解释、显示和执行。 3.1.3执行shell脚本程序的一般方法 一般情况下,有两种执行shell脚本程序的方法。 第一种方法:直接执行 (1)给脚本e1.sh增加执行权 [root@server root]#chmod a+x e1.sh (2)键入./el.sh直接执行脚本 [root@server root]#./e1.sh Hello,world! 第二种执行shell脚本方法是:不更改属性,键入sh 脚本名即可。 示例如下: [root@server root]#sh e1.sh Hello,world! 3.2 shell变量与环境变量 3.2.1 定义shell变量 1.本地变量 一般地,shell变量不需要先定义,就可以直接为其赋值,即在赋值的同时完成变量的定义。 为变量赋值的格式如下: 变量名=变量值 请看定义变量a的示例: [root@server root]#a=1 需要注意的是:在等号的左右两边不能出现空格。 请看错误示例: [root@server ~]# b = 2 -bash: b: command not found 2.只读变量 通过以下格式来定义只读变量: readonly 变量名=变量值 或: 变量名=变量值 readonly 变量名 请看以下示例: [root@server ~]# readonly myvar=1 [root@server ~]# myvar=2 -bash: myvar: readonly variable 3.声明变量 在Linux中给变量赋值时,将该变量默认为是字符或字符串型,如果两个变量用“+”操作,则会被解释成字符串的连接操作。 请看如下示例: [root@server root]#a=123 [root@server root]#b=456 [root@server root]#c=$a+$b [root@server root]#echo $c 123+456 需要注意: 此处的“+”号不是操作符,而是被当成另外一个字符,所以实际上变量c是由3个字符串 “123”、“+”和“456”连接而成的。 在shell中如果需要进行数值运算,有3种常用的实现方法: 一种就是在使用变量之前先声明这个变量,另外两种将在3.2.2小节中介绍。 声明变量的格式是: declare 参数 变量名[=变量值] 表3-1 declare常用参数说明 -a 将变量声明为数组 -i 将变量声明为整型 -r 将变量声明为只读 请看如下声明命令的示例: [root@server root]#a=123 [root@server root]#b=456 [root@server root]#declare –i c [root@server root]#c=$a+$b [root@server root]#echo $c 579 3.2.2 访问shell变量 标准访问变量的格式如下: ${变量名} 简写形式 $变量名 请看如下示例: [root@server ~]# a=10 [root@server ~]# echo $a_ [root@server ~]# echo ${a}_ 10_ 1.用echo命令显示shell变量 表3-2 echo常用参数说明及示例表 2.显示所有的本地shell变量 使用set命令可以显示所有的本地定义的shell变量。 [root@server root]#set … HISTFILE=/root/.bash_history HISTFILESIZE=100 … UID=0 USER=root a=10 3.从键盘读入 格式如下 : read [参数] 变量名 示例: [root@server root]#read a 123 [root@server root]#echo $a 123 read后面可以跟多个变量名或不跟变量名。 示例: [root@server root]# read

文档评论(0)

1亿VIP精品文档

相关文档