linux的shell脚本实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二次实验内容

一、实验名称:Linux下shell编程

二、实验类型:设计

三、实验目的:

1.熟悉Linux的shell几种变量使用

2.熟练掌握Linux的shell编程几种结构

3.熟练掌握Linux下shell脚本的编写

四、实验准备

参考教材,课件第7章内容及笔记。要求实验内容全部写到实验报告上(B5纸)。

五、实验内容

1. 练习使用shell四种变量,参考课件例题。

用户自定义变量,环境变量,位置变量,特殊变量这四种变量类型的使用,书中有例题。

2. 调试课件所有shell脚本的例题。

3. 编写如下脚本:

●编写脚本if1,测试其功能。

echo -n "word 1: "

read word1

echo -n "word 2: "

read word2

if test "$word1" = "$word2"

then

echo "Match"

fi

echo "End of program."

●编写脚本chkargs,测试其功能

if test $# -eq 0

then

echo "You must supply at least one argument."

exit 1

fi

echo "Program running."

●编写脚本if2,测试其功能

if test $# -eq 0

then

echo "You must supply at least one argument."

exit 1

fi

if test -f "$1"

then

echo "$1 is a regular file in the working directory"

else

echo "$1 is NOT a regular file in the working directory"

fi

●编写脚本if3,测试其功能

echo -n "word 1: "

read word1

echo -n "word 2: "

read word2

echo -n "word 3: "

read word3

if [ "$word1" = "$word2" -a "$word2" = "$word3" ]

then

echo "Match: words 1, 2, & 3"

elif [ "$word1" = "$word2" ]

then

echo "Match: words 1 & 2"

elif [ "$word1" = "$word3" ]

then

echo "Match: words 1 & 3"

elif [ "$word2" = "$word3" ]

then

echo "Match: words 2 & 3"

else

echo "No match"

fi

●编写smartzip 脚本,测试其功能

#!/bin/bash

ftype=`file "$1"`

case "$ftype" in

"$1: Zip archive"*)

unzip "$1" ;;

"$1: gzip compressed"*)

gunzip "$1" ;;

"$1: bzip2 compressed"*)

bunzip2 "$1" ;;

*) echo "File $1 can not be uncompressed with smartzip";;

esac

●编写脚本dirfiles,测试其功能。

for i in *

do

if [ -d "$i" ]

then

echo "$i"

fi

done

●编写脚本until1,测试其功能。用while改写之。

secretname=jenny

name=noname

echo "Try to guess the secret name!"

echo

until [ "$name" = "$secretname" ]//while改写位 while [ “$name” !=“$secretname” ],其他地方不变

do

echo -n "Your guess: "

read name

done

echo "Very good."

●编写脚本brk,测试其功能。

for index in 1 2 3 4 5 6 7 8 9 10

do

if [ $index -le 3 ] ; then

echo "continue"

continue

fi

#

echo $index

#

if [ $index -ge 8 ] ; then

echo "break"

break

fi

done

●编写脚本command_menu,测试其功能。

echo -e "\n COMMAND MENU\n"

echo " a. Current date and time"

echo " b. Users currently logged in"

echo " c. Name of the working directory"

echo -e " d. Contents of the working directory\n"

echo -n "Enter a, b, c, or d: "

read answer

echo

case "$answer" in

a)

date;;

b)

who;;

c)

pwd;;

d)

ls;;

*)

echo "There is no selection: $answer";;

esac

●编写脚本demo_shift,测试其功能。

echo "arg1= $1 arg2= $2 arg3= $3"

shift

echo "arg1= $1 arg2= $2 arg3= $3"

shift

echo "arg1= $1 arg2= $2 arg3= $3"

shift

echo "arg1= $1 arg2= $2 arg3= $3"

shift

●编写shell脚本sum1,求命令行上整数和。即:$./sum1 5 12 4 6,给出和的结果。

sum=0

for i in $*

do

let sum=sum+i

done

echo “和是:$sum”

●编写脚本filetest,判断当前目录下所有文件类型,如果是普通文件,显示文件内

相关文档
最新文档