实验四 shell 编程

实验四 shell 编程,第1张

实验四 shell 编程

一、实验目的:

(1)了解Shell的作用和主要分类

(2)练习编写简单的Shell程序

二、实验准备

(1)了解远程登录的概念,以及远程登录软件putty。

(2)了解Linux shell编程的基本概念。

(3)掌握shell编程的基本步骤。

三、实验过程

(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程序,该程序在用户输入年、月之后,自动打印输出该年该月的日历。

用 vi times  或 cat> times 命令均可

echo "please input the month:" read month

echo "please input the year:"

read year

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 "word1:"

read word1

echo -n "word2:"

 read word2

if test "$word1" = "$word2" then

echo "Match"

fi

echo "End of program."

(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 脚本,该程序能接收用户从键盘输入的100个整数,然后求出其总和、最大值及最小值。

参考程序:

#!/bin/sh

read max

min=$max

sum=$max

i=1

while [$i –lt 100]

do

read  x

sum=`expr $sum + $x`

if [ $max –lt  $x ]

then

max=$x

   fi

   if [ $ x –lt  $min ]

then

min=$x

   fi   

i=`expr $i + 1`

done

2.问题解答

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

    指定你运行脚本的shell类型,是bash,ksh还是其它

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

   第一种:

for var in 单次表

do

命令行

done

第二种:

while 命令或表达式

do

命令表

done

3、shell中test命令常用的表达式有哪些?

   检查文件和比较值

test –n 字符串

test 整数1 –eq 整数2

test  File1 –ef  File2

test –z 字符串

4、什么是退出状态,在shell编程中,退出状态的作用是什么?

   每一条 Shell 命令,不管是 Bash 内置命令(例如 cd、echo),还是外部的  Linux 命令(例如 ls、awk),还是自定义的 Shell 函数,当它退出(运行结束)时,都会返回一个比较小的整数值给调用(使用)它的程序,这就是命令的退出状态(exit statu)。

5、shell编程中,如遇到shell的特殊字符,怎么办?为什么这么做?请列举几个这样的特殊字符。

1、$ 美元符

2、 反斜杠

3、` 反引号

4、" 双引号

四、实验总结

(1)Linux 一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的 Linux 服务器。这时我们就需要远程登录到Linux服务器来管理维护系统。

Linux 系统中是通过 ssh 服务实现的远程登录功能,默认 ssh 服务端口号为 22。

Window 系统上 Linux 远程登录客户端有 SecureCRT, Putty, SSH Secure Shell 等,本文以 Putty 为例来登录远程服务器。

(2)yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://outofmemory.cn/zaji/5182566.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-18
下一篇2022-11-18

随机推荐

  • 蝉这首诗是什么意思

    虞世南《蝉》这首古诗的意思是萧疏梧桐之上,蝉儿低饮清露,蝉声清脆响亮,回荡树林之间。身居高枝之上,可以傲视群虫,不用借助秋风,传声依然遥远。《蝉》是唐代诗人虞世南创作的一首五言古诗,作者托物寓意,一、

  • 春节为什么要放鞭炮

    春节放鞭炮源于古代驱除鬼怪的行为,人们认为鞭炮能驱邪、避瘟,保佑家人平安吉祥。后来这个习俗被流传了下来,并把放鞭炮作为过年的一种喜庆方式,过年大家都要放鞭炮。每至年末岁首,人们就在家门口贴红联、放鞭炮

    2022-12-06
    200
  • 慎德堂制的瓷器是什么年代

    慎德堂制是1830年-1860年的瓷器。慎德堂是圆明园内的一座宫殿建筑,位于圆明园九州清晏岛,是道光皇帝与咸丰皇帝在圆明园内居住的寝宫。出于对慎德堂的偏爱,道光皇帝要求慎德堂的日用品上,均带有&ldq

    2022-12-06
    000
  • 岳州是现在的哪个城市

    岳州也称为巴陵,是现在的湖南省岳阳市。其实早在旧石器时代约在20万年前,岳阳已有人类在此繁衍生息。临湘市沅潭镇长源村发掘出旧石器时代遗址,采集石器标本7件。夏商时期距今约5000年左右,岳阳为云梦之野

    2022-12-06
    000
  • 大胖橘是什么意思

    胖橘,本意只指胖胖的橘猫。电影《加菲猫》里胖乎乎的橘色猫咪,贪吃、懒惰,却又机灵可爱,让人印象深刻。网上也渐渐出现了很多圆滚滚的橘猫图片、视频等,胖橘形象深入人心‌‌‌‌‌‌‌‌‌‌‌‌。 现在已经引

    2022-12-06
    000
  • 二手烟除了容易损害儿童呼吸系统还可能引起什么二手烟对儿童的危害有哪些

    导语:二手烟对人的危害是非常大的,尤其对于儿童来说,吸二手烟可能会损害他们的呼吸系统,当然,危害不仅仅于此。那么,具体二手烟除了容易损害儿童呼吸系统还可能引起什么呢?到底二手烟对儿童的危害有哪些?下面

    2022-12-06
    000
  • 网络语臭居居是什么意思

    臭居居,是2017年常见的网络流行词,是“臭猪猪”一词的谐音形式。常见的用法是骂别人“你这个臭居居”,当然这种语气程度骂人的力度当然是不够的,更偏向于娇嗔似的卖萌抱怨,是网络上女孩子超爱用的词汇。臭居

    2022-12-06
    000
  • 历史上姜维是个什么样的人

     姜维是蜀汉名将,在诸葛亮死后崭露头角,率领蜀军北伐曹魏,但战局僵持没有取得胜利,后来刘禅投降,姜维想凭一己之力复兴蜀汉,失败被杀。历史上的姜维并不像小说《三国演义》里那样是继承了诸葛亮的遗志,在明知

    2022-12-06
    000
  • 三国演义时代背景

    三国演义时代背景是元末明初,社会矛盾尖锐,农民起义此起彼伏,群雄割据,多年战乱后朱元璋剿灭群雄,推翻元王朝,建立明王朝。期间人民流离失所,罗贯中作为一名杂剧和话本作者,生活在社会底层,了解和熟悉人民的

    2022-12-06
    000

发表评论

登录后才能评论

评论列表(0条)

    保存