Linux实用操作系统实验指导书11资料 下载本文

内容发布更新时间 : 2024/11/8 15:22:56星期一 下面是文章的全部内容请认真阅读。

步骤1:$ chmod a+x ex1 步骤2:$ mv ex1 /usr/bin 步骤3:$ ex1

$ ex1 /usr

5. 在文本编辑器中录入下面shell程序,保存为ex2,然后执行之。 #!/bin/bash

# If no arguments, then listing the current directory. # Otherwise, listing each subdirectory. if test $# = 0 then ls . else

for i do

ls -l $i | grep '^d' done fi

(二)shell变量(2学时)

1.用户定义的变量。

单步执行下述命令,练习变量赋值,理解反馈信息。 $ dir=/home/mengqc/ex1 $ echo $dir $ echo dir

$ today=Sunday

$ echo $today $Today $ str=\$ echo \2.read命令。

(1)单步执行下述命令:

$ read name -----输入read命令 zhangsan -----输入name的值 $ echo \

Your Name is zhangsan -----显示输出的结果 $ read a b c -----read命令有三个参数

cuit cn edu -----输入三个字符串,中间以空格隔开 $ echo \

Email : cuit.edu.cn -----显示输出结果

(2)将上述四个单步命令编辑为shell程序,取名ex3。 $ vi ex3 (输入四行命令,编后存盘)。 (3)运行shell程序ex3。

$ bash ex3 3.特殊变量

(1)建立一个内容如下的shell程序ex4: echo “Program name is $0”

echo “There are totally $# parameters passed to this program” echo “The last is $?”

echo “The parameters are $*”

(2)按如下执行程序ex4,观察反馈信息: $ bash ex4 this is a test program (三)控制结构(3学时)

1.if语句 (1)

理解并建立shell程序ex5:

Echo “The current directory is `pwd`”

if test - f \ # 如果位置参数$1对应的文件 then echo \ # 是普通文件“- F”则显示本行 else echo \ ordinary file.\ # 否则显示本行 fi

执行ex5,并理解反馈信息: $ bash ex5 ex4 (2)

理解并建立shell程序ex6: if test - f \ then cat $1

else if test - d \

then (cd $1 ;cat * )

else echo \ fi fi

执行ex6,并理解反馈信息。 2.while语句 (1)

理解并建立shell程序ex7: while [ $1 ] do

if [ -f $1 ]

then echo \ cat $1

else echo \ fi

shift #后续位置参数左移 done

执行ex7,并理解反馈信息。

(2)编写求前五个偶数之和的shell程序ex8: loopcount=0 result=0

while [ $loopcount –lt 5 ] do

loopcount=‘expr $loopcount +1’ increment=‘expr $loopcount \\*2’ result= ‘$result + $increment’ done

echo \ 3.for语句 (1)

理解并建立shell程序ex9:

for day in Monday Wednesday Friday Sunday do

echo $day done

执行ex9,并理解反馈信息。 (2)

理解并建立shell程序ex10: mkdir backup for filename in ‘ls’ do

cp $filename backup/$filename if ($? -ne 0) then

echo “copy for $filename failed” fi done

执行ex10,并理解反馈信息。 4.Select语句

理解并建立shell程序ex11: select item in Continue Finsh do

if [ $item = “Finsh” ]; then break fi done

执行ex11,并理解反馈信息。

(四)函数(1学时)

1.理解并建立shell程序ex12: displaymonth() { case $1 in

01 | 1) echo “Month is January”;;

02 | 2) echo “Month is February” ;; 03 | 3) echo “Month is March” ;; 04 | 4) echo “Month is April” ;; 05 | 5) echo “Month is May” ;; 06 | 6) echo “Month is June” ;; 07 | 7) echo “Month is July” ;; 08 | 8) echo “Month is August” ;; 09 | 9) echo “Month is September” ;; 10) echo “Month is October” ;; 11) echo “Month is November” 12) echo “Month is December” *) echo”Invalid parameter” esac }

displaymonth $1

执行ex12,并理解反馈信息。 $ bash ex12 3 $ bash ex12 10

;; ; ;