深 圳 大 学 实 验 报 告
课程名称: Linux操作系统
实验项目名称: Linux上shell程序设计
学院: 计算机与软件学院
专业: 软件工程
指导教师: 冯禹洪
报告人: 文成 学号: 2011150259 班级: 2
实验时间: 2013-10-08
实验报告提交时间: 2013-10-30
教务处制
一、 实验目标:
1. 熟悉vi编辑器的使用 2. 掌握简单的Shell编程
2.1. 掌握Shell变量的使用 2.2. 掌握Shell表达式的使用
2.3. 掌握Shell流程控制语句的使用 3. 熟悉Shell程序的执行和跟踪
二、实验环境与工件
湖边Linux实验室 Fedora 13
三、实验内容与步骤
1. 下面哪个命令会实现将变量VAR1和VAR2相加,并且值存入变量VAR3的功能?( D )(5分)
[ $VAR3 = $VAR1 + $VAR2 ] $VAR3 = [ $VAR1 + $VAR2 ] $VAR3 = (( VAR1 + VAR2 )) (( VAR3 = VAR1 + VAR2 ))
2. 以下程序的输出是?( D )(5分) #!/usr/bin/sh A=1
while [ $A -lt 10 ] do
B=1
while [ $B -lt 10 ] do
break 2
echo \ done
echo \done
A. “Inner loop” 将被打印10次 B. “Outer loop” 将被打印10次. C. “Outer loop” 将被打印10次. D. 什么都没有被打印.
深圳大学学生实验报告用纸
3. 请在vi中逐一编辑,修正(如果有误)并执行以下10个shell脚本程序,然后结合所学知识和程序的输出理解各程序中各语句的含义,对各小题附上结果截图。(每小题5分)
3.1. 编写一个简单的回显用户名的shell程序。 #!/bin/bash #filename:date
echo \echo 'date'
echo Whish you a lucky day!
3.2.使用if-then语句创建简单的shell程序。 #!/bin/bash #filename:bbbb
echo -n \read ANSWER
if [ $ANSWER=N -o $ANSWER=n ] then exit fi
深圳大学学生实验报告用纸
3.3.使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序。 #!/bin/bash #filename:ak
echo -n \read SCORE
echo \if [ $SCORE -ge 60 ]; then
echo -n \else
echo -n \fi
echo -n \read $GOOUT
3.4.使用case语句创建一个菜单选择的shell程序。 #!/bin/bash #filename:za #Display a menu echo _
echo \echo \echo \echo
#Read and excute the user's selection echo -n \read CHOICE
case \1) echo \2) echo \3) echo \
*) echo \exit 1 esac
深圳大学学生实验报告用纸
3.5.使用for语句创建简单的shell程序。 #!/bin/bash #filename:mm for ab in 1 2 3 4 do
echo $ab done
深圳大学学生实验报告用纸