Linux操作系统 应用型高等教育网络类课程规划教材 袁宝华 第11章 Shell编程.ppt
文本预览下载声明
尚辅网 尚辅网 * 第十一章Shell编程 尚辅网 第十一章 Shell编程 11.1 Shell简介 11.2 Shell程序的执行和调试 11.3环境变量与Shell变量 11.4条件测试 11.5控制流结构 11.6Shell内嵌命令 11.7Shell函数 11.8 Shell实例 尚辅网 11.1 Shell简介 Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用Shell使大量的任务自动化尤其适合那些易用性、可维护性和便携性比效率更重要的任务。 Shell是用户和Linux内核之间的接口程序,是一个命令解释器,类似于DOS下的。 Shell提供了用户与操作系统之间通讯的方式 :交互式 、非交互式模式 。 尚辅网 11.2 Shell程序的执行和调试 #!/bin/sh #!用来告诉系统,后面给出的参数是用来执行该文件的程序 。 chmod + x filename 通过上述命令改变Shell文件的可执行权限。 尚辅网 11.3环境变量与Shell变量 1.设置环境变量 VARIABLE-NAME=value;export VARIABLE-NAME 2.显示环境变量 显示环境变量与显示本地变量一样,用echo命令即可。 3.清除环境变量 unset VARIABLE-NAME 4.set命令 使用set命令- a选项,即set -a指明所有变量直接被导出。 11.3.1环境变量 尚辅网 11.3环境变量与Shell变量 1.显示变量 使用echo命令可以显示单个变量取值 2.清除变量 使用unset命令清除变量。 3.显示所有本地Shell变量 使用set命令显示所有本地定义的Shell变量。 4.结合变量值 将变量结合在一起: echo ${variable-name1}${ variable-name2} $ TMP_VAR1=’Hello,’ $ TMP_VAR2=’World’ $ echo ${ TMP_VAR1}${ TMP_VAR2} 11.3.2Shell变量 尚辅网 11.3环境变量与Shell变量 5.测试变量是否已经设置 $ {variable:-value} 6.使用变量来保存系统命令参数 可以用变量保存系统命令参数的替换信息 7.设置只读变量 如果设置变量时,不想再改变其值,可以将之设置为只读方式。 11.3.2Shell变量 尚辅网 11.4 条件测试 test一般有两种格式,即: test condition 或 [ condition ] 例: [test@test ~]$ ll test.txt -rw-rw-r-- 1 test test 3 2008-08-22 16:30 test.txt 11.4.1测试文件状态 尚辅网 11.4 条件测试 测试文件状态是否为OK,但是有时要比较两个文件状态。Shell提供三种逻辑操作完成此功能。 -a 逻辑与,操作符两边均为真,结果为真,否则为假。 -o 逻辑或,操作符两边一边为真,结果为真,否则为假。 ! 逻辑非,条件为假,结果为真。 例如: [test@test ~]$ [ -f test.txt -a -x test.txt ] [test@test ~]$ echo $? 11.4.2逻辑操作符 尚辅网 11.4 条件测试 字符串测试有5种格式 test string test string_operator string test string string_operator string [ string_operator string ] [ string string_operator string ] 11.4.3字符串测试 尚辅网 11.4 条件测试 一般格式如下: number numeric_operator number 或者 [ number numeric_operator number ] numeric_operator可为: -eq 数值相等。 -ne 数值不相等。 -gt 第一个数大于第二个数。 -lt 第一个数小于第二个数。 -le 第一个数小于等于第二个数。 -ge 第一个数大于等于第二个数。 11.4.4测试数值 尚辅网 11.5 控制流结构 1.if then else 语句 if 条件1 then 命令1 elif 条件2 then 命令2 Else 命令3 fi 11.5.1选择结构 尚辅网 11.5 控制流结构 2.case语句 结构形式如下: case 值 in 模式1) 命令1 ;; 模式2 ) 命令2 ;; Es
显示全部