实验4 shell 程序设计 实验报告

时间:2024.4.5

实验4 shell 程序设计

1.采用shell编程语言(类似C语言),完成

(1)请用C语言编写程序,将1-100之间能被3或7整除的数显示出来.

实验结果:

student@linux-suse:~> ./homework1.sh

3 6 7 9 12 14 15 18 21 24 27 28 30 33 35 36 39 42 45 48 49 51 54 56 57 60 63 66 69 70 72 75 77 78 81 84 87 90 91 93 96 98 99 end!

程序代码:

for ((i = 1; i <= 100; i++))

do

j=$[$i % 3]

if test $j -eq 0

then

fi

done

echo "end!" echo -n $i echo -n " " j=$[$i % 7] if test $j -eq 0 then fi echo -n $i echo -n " " else

(2)请用C语言编写程序,从键盘输入年号,屏幕显示是不是闰年,若是闰年则显不“YES!”否则显示“NO!”。

实验结果:

student@linux-suse:~> ./homework2.sh

清输入年份

2012

yes!

student@linux-suse:~> ./homework2.sh

清输入年份

1995

no!

程序代码:

echo "清输入年份

read year

i=$[$year % 4]

if test $i -eq 0

then

fi echo "yes!" j=$[$year % 100] if test $j -eq 0 then fi echo "yes!" k=$[$year % 400] if test $k -eq 0 then fi echo "yes!" echo "no!" else else else

(3)请用C语言编写程序,将从键盘录入的10个任意数,由低向高排序后显示。

实验结果:

student@linux-suse:~> ./homework3.sh

输入数字

9

输入数字

5

输入数字

8

输入数字

6

输入数字

3

输入数字

2

输入数字

1

输入数字

4

输入数字

7

输入数字

0 1 2 3 4 5 6 7 8 9

--------------------end--------------------

程序代码:

for ((i=0;i<10;i++))

do

echo "输入数字"

read values[i]

done

for ((i=0;i<10;i++))

do

lowest=$i

for ((j=i+1;j<10;j++))

do

if test ${values[j]} -le ${values[$lowest]}

then

lowest=$j

fi

done

temp=${values[i]}

values[i]=${values[lowest]}

values[lowest]=$temp

done

for ((i=0;i<10;i++))

do

echo -ne "${values[$i]}\t"

done

echo -e "\n\n--------------------end--------------------\n"

2编写一个shell脚本文件,文件内包含10个shell命令,然后执行这个脚本文件,察看这些命令自动执行情况(批处理形式)

实验结果:

student@linux-suse:~> ./task2.sh

Tue Jun 5 17:14:31 CST 2012

student

/home/student

hello world! Please input a number

5

数字是 5

奇数

student@linux-suse:~> ./task2.sh

Tue Jun 5 17:14:37 CST 2012

student

/home/student

hello world! Please input a number

6

数字是 6

偶数

程序代码:

date

logname

pwd

echo "hello world! Please input a number"

read number

echo "数字是 $number"

x=$[$number % 2]

if test $x -eq 0

then echo "偶数"

else echo "奇数"

fi

3编写一个shell脚本文件,并用shell编程语言编写一个菜单程序,分别调用作业1中的三个小题。

例如:

shell脚本文件执行后,先在屏幕显示菜单如下:

Please input vour select(0-4):

1.Disply 1.1

2.Disply 1.2

3.Disply 1.3

0.EXit

Select:

当你键入你的选择后,系统就执行相应的程序,完成其指定功能并重新返回到主菜单,若用户键入“0”,则退出该程序。

实验结果:

student@linux-suse:~> ./task3.sh

Please input your select (0-3):

1. Disply 1.1

2. Disply 1.2

3. Disply 1.3

0. Exit

Select:

1

3 6 7 9 12 14 15 18 21 24 27 28 30 33 35 36 39 42 45 48 49 51 54 56 57 60 63 66 69 70 72 75 77 78 81 84 87 90 91 93 96 98 99 end!

student@linux-suse:~> ./task3.sh

Please input your select (0-3):

1. Disply 1.1

2. Disply 1.2

3. Disply 1.3

0. Exit

Select:

2

清输入年份

5214

no!

student@linux-suse:~> ./task3.sh

Please input your select (0-3):

1. Disply 1.1

2. Disply 1.2

3. Disply 1.3

0. Exit

Select:

3

输入数字

4

输入数字

5

输入数字

9

输入数字

8

输入数字

7

输入数字

6

输入数字

3

输入数字

2

输入数字

输入数字

1

0 1 2 3 4 5 6 7 8 9

--------------------end--------------------

student@linux-suse:~> ./task3.sh

Please input your select (0-3):

1. Disply 1.1

2. Disply 1.2

3. Disply 1.3

0. Exit

Select:

程序代码:

echo "Please input your select (0-3):"

echo "1. Disply 1.1"

echo "2. Disply 1.2"

echo "3. Disply 1.3"

echo "0. Exit"

echo "Select:"

read select

case $select in

"0")

break

;;

"1")

./homework1.sh

;; ./homework2.sh ;; ./homework3.sh ;; "2") "3") esac


第二篇:实验四 shell程序设计


实验四:shell程序设计

【实验目的】

(1) 掌握shell的概念,了解shell的工作原理

(2) 熟悉shell环境

(3) 掌握基本的shell程序设计

【实验内容】

1.带一个(目录)参数,可浏览目录下的内容。(lsdir.sh)

实现功能:

(1)首先判断(if)是否带有参数(参考p207),若无则显示(echo)用法信息后,报错返回(exit);

(2)首先判断该参数是不是目录。若是则列目录的内容(ls),否则,提示用户不是目录,则显示警告信息后报错返回。

运行:设程序名为lsdir.sh,为其增加执行权后运行:

./lsdir.sh

./lsdir.sh dir #如果dir是个目录,则列其内容

./lsdir.sh file #若file是文件或不存在则给出警告后返回 #! /bin/bash

if [ $# -ne 1 ] #check if has 1 parameter

then

echo "Usage: $0 dir" #Display Usage

exit 1 #return 1

fi

if [ -d "$1" ] #if is a dir

then

ls -l $1/* #list the dir

exit 0

fi

echo "Warn: $1 is not a directory" #Warning message exit 2 #return 2

2. 只用嵌套结构if-fi实现上述程序 (lsdirif.sh)

#! /bin/bash

if [ $# -ne 1 ]

then

echo "Usage: $0 dir"

exit 1

elif [ -d "$1" ]

then

ls $1/*

exit 0

else

echo "Warn: $1 is not a directory"

exit 2

fi

3、带数值参数,并可计算这些数值参数的和 (sum.sh)

#! /bin/bash

x=0

for y in $*

do

x=`expr $x + $y`

done

echo "The sum is: $x"

4、计算前n个正整数的和 (sum_n.sh)

注:此程序带有1个参数作为整数n,以计算1至n个正整数的和

#! /bin/bash

if [ $# -ne 1 ]

then

echo "Usage: $0 n"

exit 1

fi

x=0

y=1

while true

do

x=`expr $x + $y`

y=`expr $y + 1`

if [ $y -gt $1 ]

then

break

fi

done

echo "1+2+...+$1=$x"

5、编写Shell程序 (setmod.sh),在/home目录下建立10个目录,即user1~user10,并设置每个目录的权限,其中:

(1)文件所有者的权限为:读、写、执行

(2) 文件所有者所在组的权限为:读、执行

(3) 其他用户的权限为:读

#! /bin/sh

i=1

while [ $i -le 10 ]

do

if [ -d /home ];then

mkdir -p /home/user$i

chmod 754 /home/user$i

echo "user$i"

let "i=i+1"

else

mkdir /home

mkdir -p /home/user$i

chmod 754 /home/user$i

echo "user$i"

let "i=i+1"

fi

done

6.编写shell程序(deldir.sh),将第5题建立的10个目录(即user1~user10)自动删除,并显示删除目录信息

#! /bin/bash

i=1

while [ $i -le 10 ]

do

if [ -d /home/user$i ];then

rm -rf /home/user$i

echo "Directory /home/user$i deleted"

fi

let "i=i+1"

done

【实验重点】

1、 掌握shell的概念

2、 熟悉shell环境,掌握基本的shell程序设计

【实验步骤】

【实验总结】

【实验心得】

更多相关推荐:
Shell编程实验报告

南京信息工程大学实验实习报告实验目的1了解和熟悉创建并使用脚本的步骤2熟悉bash的控制结构3学会简单的shell编程实验内容1创建一个简单的列目录和日期的shell脚本并运行之步骤输入下列命令创建一个新文件c...

LINUX-Shell编程实验报告

LINUX管理与应用课程实验报告

linux操作系统实验报告_shell简单编程

操作系统实验报告院系机电与信息工程学院实验日期20xx年xx月x日

Linux操作系统(实验五shell编程实验报告)

信息技术学院软件实验报告专业软件工程课程Linux操作系统学号姓名班级软件工程班

LINUX-shell程序编程实验报告

LINUX实验报告专业班级学号姓名报告时间1实验一Shell编程一实验名称考勤模拟shell程序设计二实验目的理解Shell程序的设计方法熟悉Shell程序的编辑运行调试方法与过程三实验内容考勤模拟Shell程...

shell编程实验报告

实验报告课程名称linux教程实验项目shell编程专业班级网络工程xxx指导教师xxx姓名xxxx学号xxx成绩日期xxxx12

四川大学 操作系统原理 第二次 实验报告 shell编程

实验报告学生打印后提交实验名称shell编程实验时间10年04月21日实验人员姓名学号年级实验目的1熟悉使用Linux下的软件开发工具如gcc2熟练使用man帮助手册3学习使用Linux的系统调用对进程进行管理...

linux实验报告--shell编程

计算机工程技术学院软件学院实验报告专业计算机网络技术班级成绩评定学号姓名合作者号教师签名赖小卿实验题目shell编程第周星期一第节广东科学技术职业学院

Linux实验报告(实验四) shell编程实验

实验四shell编程实验二班级姓名学号上机时间年月日任课教师实验教师实验成绩一实验目的综合Linux常用命令和vi编辑器的使用熟练掌握shell脚本编程二实验注意事项实验室内的实验环境与系统是共用设施请不要在系...

实验指导书--实验03 Linux Shell编程

实验三LinuxShell编程实验学时2实验类型设计实验要求必修一实验目的通过本实验的学习使学生掌握Shell编程的基本方法二实验内容实验内容LinuxShell实现题目所要求的功能三实验原理方法和手段无四实验...

Linux操作系统-Shell 编程 测试 -实验报告八

河南师范大学综合性设计性实验项目简介学院名称公章软件学院学年20xx20xx第1学期填表日期20xx年12月04日注开课时间填本实验项目所有实验班的具体上课时间如11月12日下午300500

Linux常用命令2和简单shell编程练习实验报告

1实验目的掌握Linux环境下的基本权限操作命令2实验内容掌握Linux的权限操作命令3实验步骤31Linux常用命令使用311查看登录的用户和自己登录的身份查看登录的用户m1120xxtanusersm112...

shell编程实验报告(25篇)