实验 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小时内删除。