实验四 shell编程(一)
信息学院 班级: 学号: 姓名: |
一、实验目的 1、了解shell的概念 2、了解shell变量的种类及其使用 3、理解和掌握条件测试的原理和方法 4、掌握用VI创建shell脚本的方法 5、掌握shell脚本的执行方法 |
二shell脚本返回执行结果、实验环境 安装了Linux系统的计算机一台 |
三、【实验重点及难点】 1、掌握shell编程的方法。 2、掌握shell的特殊字符,条件测试。 |
四、实验过程(实验步骤、记录、数据、分析、结果) 1.Shell变量的定义及其使用。 2.位置参数和环境变量。 3.Shell中的特殊字符。 (一)Shell变量 Shell有两种变量:内部变量、环境变量和临时变量。在Shell脚本中临时变量又分为两类:用户定义的变量和位置参数。 1返回值为0代表为真,其他非0值均为假。 常用的内部变量: # 传给shell程序位置参数的个数 ?存储上一个执行命令的返回值,返0 存储shell程序的名称 * 存储shell程序的所有参数 例如: echo "Number of parameters is:"$# echo "Program name is:"$0 echo "Parameters as a single string is:"$* (二) SHELL中的特殊字符 1、通配符 通常的通配符有三种: * 星号,它匹配任意数量字符的0次或多次出现。但注意,文件名前面的圆点(.)和路径名中的斜线(/)必须显示匹配。 ?问号,它匹配任意一个字符。 应该注意:字符 * 和?在一对方括号外面是通配符,若出现在其内部,它们就失去通配符的能力了。 !叹号,若它紧跟在一对方括号的左方括号[之后,则表示不在一对方括号中所列出的字符。 2、引号 在SHELL中引号分为三种:单引号、双引号、和倒引号。 (1)双引号 由双引号括起来的字符,除$、倒引号和反斜线(\)仍保留其功能外,其余字符通常作为普通字符对待。 (2)单引号 由单引号括起来的字符都作为普通字符出现。 (3)倒引号 例如: $ today=`date` $echo Today is $ today Today is Thu May 04 10 :56 :20 CST 2000 (4)反斜线 转义字符,若想在字符串中使用反斜线本身,则必须采用(\\)的形式,其中第一个反斜线作为转义字符,而把第二个反斜线变为普通字符。 (三)条件测试 1.字符串比较 = 比较两个字符串是否相等 != 比较两个字符串是否不相等 -n 判断字符长度是否大于零 -z 判断字符长度是否等于零 2.数字比较--(仅限于整数值,小数值被截断) -eq 比较两个数是否相等 -ge 比较一个数是否大于或是等于另一个数 -le 比较一个数是否小于或是等于另一个数 -ne 比较两个数是否不等 -gt 比较一个数是否大于另一个数 -lt 比较一个数是否小于另一个数 3.文件操作符 -d 确定文件是否为目录 -f 确定文件是否为普通文件 -r 确定是否对文件设置了读许可 -s 确定文件名是否具有大于零的长度 -w 确定文件是否设置了写许可 -x 确定文件是否设置了执行许可 测试语句: 有两种常用形式:一种是用test命令,如上所示。另一种是用一对方括号将测试条件括起来。两种形式完全等价。例如,测试位置参数$1是否是已存在的普通文件,可写成:test -f " $1",也完全可写成:[ -f $ l ] 在格式上应注意,如果在test语句中使用shell变量,为表示完整、避免造成歧异起见最好用双引号将变量括起来。利用一对方括号表示条件测试时,在左方括号[之后、右方括号]之前各应有空格。 (四)创建简单shell程序 1、进入VI编辑器 2、编写程序 例: #!/bin/bash hello() { echo "hello there today's date is:`date`" } echo "now going to the function hello" hello echo "back from the function" #end 例2: 执行结果: (五)执行shell程序的方法 方法一 : 加执行权后,程序完整路径引导。(chmod u+x file.sh) 方法二: 点空格引导 例如:./aa.sh 方法三:无需加执行权,通过bash命令执行,以shell程序名为bash命令参数 |
四、实验总结 ● Shell有两种变量:内部变量、环境变量和临时变量。在Shell脚本中临时变量又分为两类:用户定义的变量和位置参数。 1返回值为0代表为真,其他非0值均为假。 常用的内部变量: # 传给shell程序位置参数的个数 ?存储上一个执行命令的返回值,返0 存储shell程序的名称 * 存储shell程序的所有参数 ● 通常的通配符有三种(#,*,?) ● 条件测试的原理和方法,以及快捷方式[ ] ● 掌握用VI创建shell脚本的方法 ● 掌握shell脚本的执行方法(尽量帮助文件先加上权限) |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论