第2章 Linux Shell编程教学设计.pptx

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第2章LinuxC编程环境;本章概述

;本章学习目标;本章主要内容;2.1Shell编程基本概念;二.Shell变量与赋值表达式

1.变量定义和赋值

Shell变量无需事先定义直接复制,在给变量赋值时自动获得定义

Shell变量值的类型都是字符串,可以将任何字符串赋值给变量。值通过等号直接赋给用户变量,在变量、等号和值之间不能出现空格

示例:

var1=10

var2=57

var4=testing

var5=stillmoretesting

;exvar.c:

#!/bin/bash

#testingvariables

num=3

guest1=Alice

guest2=BillGates

msg=$guest1logsoutbeforethe${num}thday.

echo$msg

echocurrentdirectoryof${guest2}is`pwd`.

;思考题;四、Shell输入输出语句;示例程序io.sh:

#!/bin/bash

#testingreadandechocommands

read-pEnteryourname:firstlast

echoCheckingdatafor$last,$first

read-s-p请输入您的密码:pass

echoIsyourpasswordreally$pass?“

$chmod+xio.sh

$./io.sh

Enteryourname:BillGates

CheckingdataforGates,Bill

请输入您的密码:123456

Isyourpasswordreally123456?

;五、退出脚本和退出状态;(1)用户设置程序或脚本退出状态码,格式为:

exit状态码

状态码为0表示脚本执行成功,为非0表示失败,非0编码与失败原因之间的对应关系由编程人员自行定义。

(2)系统设置退出状态;Linux将进程(命令、脚本执行)的退出状态保存在一个特殊的shell变量(?)中,可在进程结束时,立即执行echo等命令读取该变量的值来取得前一个命令或脚本的退出状态。;status4.c

intmain()

{exit(5);

}

$gcc-ostatus4status4.c

$./status4

$echo$?

5;练习题2.2在当前目录下输入命令”ls-l”的输出结果如下:

-rw-rw-r--1xuqgxuqg114Jul1519:07test.sh

-rw-rw-r--1xuqgxuqg110Jul1518:46semlib.c~

drwxr-xr-x4rootroot4096Feb100:18dir1

请问下列各命令序列中echo$?的输出结果是什么?(注意:LinuxShell允许在一行输入多个命令,只需命令间以分号隔开)

./dir1;echo$?;echo$?

cd;echo$?

./semlib.c;echo$?;$echo$?

./abcd;echo$?;2.2Shell数学运算与字符串处理;二、Shell中字符串处理

BashShell本身没有库函数概念,对字符串处理的支持主要通过expr、awk等命令来实现;找匹配字符串长度;思考题2.3请写出执行下面???本的输出:

#!/bin/bash

string=hello,everyonemynameisxiaoming

echoecho${#string}

exprindex$stringmy

exprmatch$stringhell.*

exprmatch$stringhell

echo${string:10:5}

exprsubstr$string105

;2.3Shell条件与if控制结构

Bash可以对Shell脚本进行流程控制,提供if、case和for等控制结构,使Shell具有C、Java等高级语言的流程控制能力

一、if结构化语句

;示例1:condif1.sh;示例2:condif2.sh;示例3:condif3.sh;二、test命令

test命令可以做数值比较、文件属性检查、字符串比较,用于if条件判断。

过test命令算出的条件值为true,则test命令将其退出状态码设置为0,if语句执行其Then分支,如果算出的条件值为false,则test命令退

文档评论(0)

执着仅一次 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档