Linux实验指导书(8)

2019-08-26 17:09

九江学院

有两种常用形式:一种是用test命令,如上所示。另一种是用一对方括号将测试条件括起来。两种形式完全等价。例如,测试位置参数$1是否是已存在的普通文件,可写成:test -f \,也完全可写成:[ -f $ l ]

在格式上应注意,如果在test语句中使用shell变量,为表示完整、避免造成歧异起见最好用双引号将变量括起来。利用一对方括号表示条件测试时,在左方括号[之后、右方括号]之前各应有空格。 (四)创建简单shell程序

1、进入VI编辑器 2、编写程序 例: #!/bin/bash hello() {

echo \}

echo \hello

echo \#end

(五)执行shell程序的方法

方法一 : 加执行权后,程序完整路径引导。

方法二 : shell解释器名称引导。 方法三: 点空格引导。 方法四 : 使用命令替换。

五、实验报告要求

1.整理实验结果,使其分别与相应的命令对应

2.记录程序设计的流程

3.根据实验步骤,写出实验报告

36

九江学院

实验七 shell编程(二)

一、实验目的

1、掌握if、case等条件语句的使用 二、实验准备

1、硬件:Intel Pentium 120或以上级别的CPU,大于16MB的内存; 2、软件:Linux RedHat9.0操作系统。 三、相关知识 1. if 语句

if语句通过判断逻辑表达式来作出选择,在bash中的条件语句有如下的格式: if [ expression ]; then statements

elif [ expression ]; then statements else

statements fi

if条件是可以嵌套的, 2. case语句

case语句是用来执行依赖于离散值或是匹配指定变量值的范围的语句。 格式如下: case str in

str1 | str2) statements;; str3 | str4) statements;; *) statements;; esac

三、实验内容及步骤

1、从键盘输入月份,显示当月的日历 read month

if [ $month –ge 1 -a $month -le 12 ] then

cal $month 2010 fi

37

九江学院

2.从键盘传送月份数字后显示月份名或出错信息

read score

case $score 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

五、实验报告要求

1.记录实验中遇到的问题 2.提出程序的改进方法

3.根据实验步骤,写出实验报告

38

九江学院

实验八Shell编程及图形环境的使用

一、实验目的

1、掌握for、whlie语句的使用 2、掌握图形界面GNOME和KDE的使用 二、实验准备

1、硬件:Intel Pentium 120或以上级别的CPU,大于16MB的内存; 2、软件:Linux RedHat9.0操作系统。 三、相关知识 1.for语句

for curvar in list do

statements done

对list中的每个值需要执行一次statements时应利用这种格式。对每次循环,把list中的当前值赋给变量vcurvar. List可以使含有几个项的变量,或是用空格分隔的值表。 2. while语句

在pdksh和bash 中,利用的如下的格式: while expression do

statements done 三、实验内容及步骤 1. 求前五个偶数的和 参考程序: #!/bin/bash loopcount=0 result=0

while [ $loopcount –lt 5 ] do

39

九江学院

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

echo \“

2.设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。 参考程序: #!/bin/sh i=1

groupadd class1 while [ $i -le 30 ] do

if [ $i -le 9 ] ;then username=stu0${i} else

username=stu${i} fi

useradd $username mkdir /home/$username

chown -r $username /home/$username chgrp -r class1 /home/$username i=$(($i+1)) done

3.编写shell程序,实现自动删除50个账号的功能。账号名为stud1至stud50。 参考程序: #!/bin/sh i=1

while [ $i -le 50 ]

40


Linux实验指导书(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:科学素养与科研方法 考试卷79分

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: