《linux的shell脚本实验报告》由会员分享,可在线阅读,更多相关《linux的shell脚本实验报告(7页珍藏版)》请在人人文库网上搜索。
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 -。
【linux|linux shell程序设计实验报告,linux的shell脚本实验报告】2、n word 2: read word2if test $word1 = $word2thenecho Matchfiecho End of program.l 编写脚本chkargs,测试其功能if test $# -eq 0thenecho You must supply at least one argument.exit 1fiecho Program running.l 编写脚本if2,测试其功能if test $# -eq 0thenecho You must supply at least one argument.exit 1fiif test -f $1thenecho $1。
3、 is a regular file in the working directoryelseecho $1 is NOT a regular file in the working directoryfil 编写脚本if3,测试其功能echo -n word 1: read word1echo -n word 2: read word2echo -n word 3: read word3if $word1 = $word2 -a $word2 = $word3 thenecho Match: words 1, 2, & 3elif $word1 = $word2 thenecho Match。
4、: words 1 & 2elif $word1 = $word3 thenecho Match: words 1 & 3elif $word2 = $word3 thenecho Match: words 2 & 3elseecho No matchfil 编写smartzip 脚本,测试其功能#!/bin/bashftype=file $1case $ftype in$1: Zip archive*)unzip $1 ;
$1: gzip compressed*)gunzip $1 ;
$1: bzip2 compressed*)bunzip2 $1 ;
*) echo File $1 can 。
5、not be uncompressed with smartzip;
esacl 编写脚本dirfiles,测试其功能。for i in *doif -d $i thenecho $ifidonel 编写脚本until1,测试其功能。用while改写之。secretname=jennyname=nonameecho Try to guess the secret name!echountil $name = $secretname /while改写位 while “$name” != “$secretname” ,其他地方不变doecho -n Your guess: read namedone。
6、echo Very good.l 编写脚本brk,测试其功能。for index in 1 2 3 4 5 6 7 8 9 10doif $index -le 3 ;
thenecho continuecontinuefi#echo $index#if $index -ge 8 ;
thenecho breakbreakfidonel 编写脚本command_menu,测试其功能。echo -e n COMMAND MENUnecho a. Current date and timeecho b. Users currently logged inecho c. Name of the wor。
7、king directoryecho -e d. Contents of the working directorynecho -n Enter a, b, c, or d: read answerechocase $answer ina)date;
b)who;
c)pwd;
d)ls;
*)echo There is no selection: $answer;
esacl 编写脚本demo_shift,测试其功能。echo arg1= $1 arg2= $2 arg3= $3shiftecho arg1= $1 arg2= $2 arg3= $3shiftecho arg1= $1 arg2= $。
8、2 arg3= $3shiftecho arg1= $1 arg2= $2 arg3= $3shiftl 编写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 $ie。
9、lif -f $i then if -s $i then cat $ielse rm $ifielseecho n “sorry,the file cant be recognized”fidonel 编写shell脚本user,判断当前登录用户是否为“学号命名”的用户,是,提示:hello “学号用户”,welcome!,否,提示“you should login using your username! ”Read nameIf $USER = $name Then echo “hello $USER”else echo “you should login using your usern。
10、ame!”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”Echo “if you input nothing,you will exit”Read itemUntil -z $item Do Case $it。
11、em 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。
12、.create a file”Echo “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 $reDoIf $var = “*” ThenNum2=$1#*Num1=$1%*ElseNum2=$1#*$varNum1=$1#%$var*FiIf $num1 =$1 Then continueFiCase $var in“+”) let num=num1+num2Break;
“-“) let num=num1-num2;
Break;
“*”)let num=num1*num2Break;
“/”)let num=num1/num2Break;
EsacDoneEcho $num六、实验总结。
推荐阅读
- linux|linux 山东大学 试卷_【Linux】山东大学Linux应用课程复习指导例题答案
- linux|linux shell程序设计实验报告,linux-shell编程实验报告
- linux|如何将dtb反编译成dts
- Linux|熟悉Linux Shell
- liunx|服务器文件复制到远程服务器
- linux|shell命令以及运行原理和Linux权限
- docker|Docker命令
- linux|Linux 安装项目软件 MySql Redis Nginx RabbitMQ Docker 轻松 详细
- 高并发|用postman和ab工具模拟并发请求