第一范文网 - 专业文章范例文档资料分享平台

实验四 Tutorial4 shell编程

来源:用户分享 时间:2020-06-17 本文由忆挽青笙尽 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

Unix/Linux操作系统

Tutorial 4 shell 编程

1 实验简介

本次实验内容主要包括:Shell 变量的定义及其应用,Shell 中的特殊字符, 条件判断结构与循环结构,函数的定义和使用。

2 实验目的

(1)了解 Shell 的作用和主要分类 (2)练习编写简单的 Shell 程序

3 实验步骤

(1)创建一个简单的列目录和日期的shell 脚本并运行。 步骤:

①输入下列命令,创建一个新文件:

$ cat >new_file

②输入下列行:

echo “Your files are” ls

echo “today is”

date 按回车键将光标移到一个新行,按Ctrl+D键保存并退出。 ③检查文件内容,确保它是正确的:

$cat new_file

④运行脚本,输入它的文件名:

$. /new_script 该脚本不运行

⑤输入下列命令,显示文件的权限:

ls –l new _file 权限表明该文件不是可执行。要通过简单调用文件名来运行脚本,必须有权限。

⑥输入下列命令,使new_file变成可执行文件。

chmod a+x new_file

⑦要查看新的权限,输入:

$ls –l 现在拥有文件的读、写和执行权限。

⑧输入新脚本的名字以执行它:

$. /new_file

所有输入到文件的命令都执行,并输出到屏幕上。(也可以用vi创建新文件,用:wq命令退出)

(2)用 Shell 语言编制一 Shell 程序,该程序在用户输入年、月之后,自动打印 数出该年该月的日历。

用 vi times 或 cat> times 命令均可

echo \echo \read year

1

Unix/Linux操作系统

cal $month $year

$ bash times (试试用此命令执行脚本)

(3)命令执行控制符练习 ①命令顺序执行用法:

$ cd ..;pwd;ls

②命令替换符的用法:

$ echo Today is `date ?+%A?`

③条件执行命令用法:用 vi 命令建立两个文件 file1 和 file2,然后执行下列文件, 将文件 file1 复制到 file2,如果成功则删除 file1

$ cp file1 file2 && rm file1

④后台执行命令用法:在后台顺序执行两命令,20 秒后跳出提示信息“Tea is

ready”:

$ ( sleep 20; echo Tea is ready ) &

⑤命令组合符用法:将两命令的输出送到 mydoc,mydoc 的第 1 行是 Report,后面是 file3 的内容:

$ ( echo Report; cat file3 ) > mydoc

(4)元字符的引用

(1)$ echo “* is a wildcard.” #消除*字符的特殊含义

(2)$ echo ?The prompter is “$”? #消除双引号字符的特殊含义 (3)$ echo “Don?t do that!” #消除单引号字符的特殊含义 (4)$ echo “Name ID Age Class” #消除空格符的特殊含义

(5)编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同则显示“Match”,并显示“End of program”,如果不同则显示“End of

program” (先用 vi 或 cat>命令建立脚本) echo -n \echo -n \

if test \echo \fi

echo \

(6)修改上述程序,编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同显示“Match”,不同则显示“Not match”,最后显示“End of program”。<编程提示>请使用if ? then ? else 控制结构。

(7)简单 for 循环(先用 vi 或 cat>命令建立脚本)

for day in Monday Wednesday Friday Sunday do echo $day Done

(8)创建一个shell 脚本,它从用户那里接收5个数,并显示已输入的最大的数。

参考程序: #!/bin/bash

max=0 #z注意不要加入空格

for((count=1 ; count <= 5 ; count = count+1))

2

Unix/Linux操作系统

do

echo -n \if [ $max -lt $value ] then

max=$value fi

done

echo \

四 问题

1、shell 程序的第一行的语句#!/bin/sh 有什么作用?

2、shell 编程里面的循环结构有哪几种,对应的形式是怎样的?

3

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新经管营销实验四 Tutorial4 shell编程 全文阅读和word下载服务。

实验四 Tutorial4 shell编程 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1082364.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top