Linux-03脚本实验.doc_第1页
Linux-03脚本实验.doc_第2页
Linux-03脚本实验.doc_第3页
Linux-03脚本实验.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux程序设计实验3一、实验说明名称:脚本实验目的:了解脚本的概念、有关命令和使用方法二、什么是脚本脚本是一个文本文件,相当于Windows中的批处理文件(扩展名为bat的文件),顾名思义,用于成批执行命令。在脚本中也可以使用有变量、输入输出和赋值等语句和三种控制结构,所以脚本也是一种语言。脚本语言是远比C等高级语言语言,它只有简单数据类型的变量(环境变量),而且它是解释执行的,可把Linux命令(常称为软件工具)像搭积木一样组装起来,所以功能十分强大。下面我们来开发本实验的第一个脚本。因为在Windows中常用记事本编辑文本文件,所以我们把脚本命名为1.txt。实际上在Linux中脚本往往没有扩展名,而是具有x(执行)权限。脚本1.txt先运行date命令,再运行pwd命令,最后运行ls命令。启动Windows的记事本(最好用vim来完成练习)编辑1.txt文件,内容如下datepwdls将文件保存为D:cygwin1.78homeAdministratortest1.txt。切换到cygwin,输入1.txt后,我们会发现如下错误提示。$ 1.txt./1.txt: line 1: $dater: command not found/home/Administrator/test./1.txt: line 4: $r: command not found这是因为Windows的文本文件用rn来换行,而Linux只用/n换行,它把“date/r”这五个字母当做是一个命令,当然就无法执行了。所以需要把其中的 “r”剔除掉。现在在Cygwin中执行该命令,$ vim 1.txt在vim中输入下列命令:: set fileformat=unix或者set ff=unix,然后再执行存盘退出命令。: wq$ ./1.txtMon Jul 29 13:09:38 2013real0m0.002suser0m0.000ssys0m0.000sok现在3.txt终于可以执行了。或者用下列命令$ tr d r 2.txt$ cp 2.txt 1.txt; $ ./1.txt图1 打开文件对话框或者在VC中,打开“打开”文件对话框,注意选择Open as为Binary,意思是以二进制方式打开文件。图2 二进制窗口窗口中的0D、0A就表示r和n,在这里也可以把其中的r删除掉。三、利用脚本做数值计算下列脚本可计算1到100中奇数的和。注意在书写等号时两边不要留有空格。 条件语句的条件部分位于方括号中,两边应留有空格,而不能写成“$i -gt 100”的样子。不能省略do和then之前的分号,否则这两个关键字要换行输入,即没有分号的话,都要另起一行,then也是如此。# 2.txti=1sum=0until $i -gt 100 ; doif $i%2 -eq 0 ; theni=$i+1continuefisum=$sum+$ii=$i+1doneecho $sum脚本第一行的# 2.txt是文件名。在执行命令前,要保证2.txt为unix格式,而不能是dos格式。在vim中用命令“: set ff”可查看文件类型。脚本运行结果如下:$ 2.txt2500请观察怎样写循环语句、条件语句和做数值计算。$ echo $1+2*3/42四、利用脚本操作文件下列脚本将当前目录中的文件重新命名为1.bak、2.bak、3.bak、。# 3.txtX=0 for fname in * do if -f $fname ; thenX=$X+1mv $fname $X.bakfidone如何理解这一段代码?抽取各个局部来运行。$ echo *1.txt 2.txt 3.txt其结果与ls的相似,所以*起到什么作用?$ for fname in *; echo $fname; done1.txt2.txt3.txt$ for fname in 1, 2, 3; echo $fname; done123$ X=0; for fname in 1, 2, 3; X=$X+$fname; done; echo $X6$ mkdir cdir$ if -f cdir then echo 1; else echo 2; fi2$ if -f 1.txt then echo 1; else echo 2; fi1运行了这些例子,是不是有一点感觉了?练习:分析下列代码的功能cd /cygdrive/d/duxiu/WEBX=10while $X -le 591 ; doif $X -lt 100 ; thenY=0000$X.pngif -f $Y ; thenecho $Yelseecho .$YfielseY=000$

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论