linux shell程序设计实验报告,linux的shell脚本实验报告.doc

《linux的shell脚本实验报告.doc》由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关《linux的shell脚本实验报告.doc》文档请在天天文库搜索。

1、第二次实验内容一、实验名称:Linux下shell编程二、实验类型:设计三、实验目的:1. 熟悉Linux的shell几种变量使用2. 熟练掌握Linux的shell编程几种结构3. 熟练掌握Linux下shell脚本的编写四、实验准备参考教材,课件第7章内容及笔记。要求实验内容全部写到实验报告上(B5纸)。五、实验内容1. 练习使用shell四种变量,参考课件例题。用户自定义变量,环境变量,位置变量,特殊变量这四种变量类型的使用,书中有例题。2. 调试课件所有shell脚本的例题。3. 编写如下脚本:l 编写脚本if1,测试其功能。 echo -n "word 1: "read word1echo -n "word 2: "read word2if test "$word1" = "$word2" then echo "Match"fiecho "End of program."l 编。

2、写脚本chkargs,测试其功能if test $# -eq 0 then echo "You must supply at least one argument." exit 1fiecho "Program running."l 编写脚本if2,测试其功能if test $# -eq 0 then echo "You must supply at least one argument." exit 1fiif 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"fil 编写脚本if3,测试其功能echo -n "word 1: "read word1echo -n "word 。

3、2: "read word2echo -n "word 3: "read word3if [ "$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"fil 编写smartzip 脚本,测试其功能#!/bin/bashftype=`file "$1"`case "$ftype" in"$1: Z。

4、ip archive"*)unzip "$1" ;;"$1: gzip compressed"*)gunzip "$1" ;;"$1: bzip2 compressed"*)bunzip2 "$1" ;;*) echo "File $1 can not be uncompressed with smartzip";;esacl 编写脚本dirfiles,测试其功能。for i in *do if [ -d "$i" ] then echo "$i" fidonel 编写脚本until1,测试其功能。用while改写之。 secretname=jenny name=noname echo "Try to guess the secret name!" echo until [ "$name" = "$secretname" ]//while改写位 while [ “$name” != “$s。

5、ecretname” ],其他地方不变 do echo -n "Your guess: " read name done echo "Very good."l 编写脚本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 donel 编写脚本command_menu,测试其功能。 echo -e "\n COMMAND MENU\n" echo " a. Current date and time" echo " b. Users currently logged in" echo " c. Name of th。

6、e 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";; esacl 编写脚本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" s。

7、hiftl 编写shell脚本sum1,求命令行上整数和。即:$./sum1 5 12 4 6,给出和的结果。sum=0for i in $*do let sum=sum+idoneecho “和是:$sum”l 编写脚本filetest,判断当前目录下所有文件类型,如果是普通文件,显示文件内容;如果是目录文件,显示目录列表;如果是大小为0的文件,删除它;否则,显示“sorry, The file is not recognized!”for i in *do if [ -d $i ]then ls $ielif [ -f $i ] then if [ -s $i ] then cat $i else rm $i fielse echo –n “sorry,the file can’t be recognized”fidonel 编写shell脚本user,判断当前登录用户是否为“学号命名。

8、”的用户,是,提示:hello “学号用户”,welcome!,否,提示“you should login using your username! ”Read nameIf [ $USER = $name ] Then echo “hello $USER”else echo “you should login using your username!”fil 编写shell脚本menu,使用shell编写一个菜单,分别实现列出以下内容:(1)显示目录内容、(2)切换目录、(3)创建文件、(4)编辑文件、(5)删除文件的l 功能。在此例中将用到循环语句、分支语句和输入输出语句。Echo “a.display the directory”Echo “b.change the directory”Echo “c.create a file”Echo “d.delete the file”Ech。

9、o “if you input nothing,you will exit”Read itemUntil [ -z $item ]Do Case $item in a) Echo “input the directory”Read direLs $dire;;b) Echo “input the directory you want go into”Read direCd $dire;;c) Echo “input the file you want to create”Read fTouch $f;;d) Echo “input the file you want to delete”Read fRm $f;;EsacEcho “a.display the directory”Echo “b.change the directory”Echo “c.create a file”Echo 。

10、“d.delete the file”Echo “if you input nothing,you will exit”Read itemdonel 编写脚本,实现一个简单计算器。+ addition- subtractionx multiplication/ division脚本执行形式:$ ./cal.sh 21 / 3Let l=$1 //最简单的一种形式,而且还特别高效Echo $1;第二种方式:Re=”+ - \* /”For var in $reDo If [ $var = “\*” ] Then Num2=${1#*\*} Num1=${1%\**} Else Num2=${1#*$var} Num1=${1#%$var*} FiIf [ $num1 = $1 ]Then continueFi Case $var in “+”) let num=num1+num2 Break;; “-“) let num=num1-num2; Break;; “\*”)let num=num1*num2 Break;; “/”)let num=num1/num2 Break;;EsacDoneEcho $num六、实验总结。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值