您所在位置: 网站首页 / UNIX SHELL脚本编程.doc / 文档详情
UNIX SHELL脚本编程.doc 立即下载
2024-09-06
约8.6千字
约11页
0
66KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

UNIX SHELL脚本编程.doc

UNIXSHELL脚本编程.doc

预览

免费试读已结束,剩余 6 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

UNIXSHELL脚本编程
<<<目录>>>
□前言
□将文字档设为可执行的ShellScript
□Script的基本结构及观念
□BourneShell
一、变数
二、执行命令
三、流程控制
□CShell
一、变数
二、执行命令
三、流程控制
□附录Aexpr命令
□附录Btest命令
前言
在Dos中,你可能会从事一些例行的重覆性工作,此时你会将这些重覆性的命令写成批次档,只要执行这个批次档就等於执行这些命令。大家会问在Unix中是否有批次处理这个东东,答案是有的。在UNIX中不只有如DOS的批次处理,它的功能比起DOS更强大,相对地也较复杂,已经和一般的高阶语言不相上下。在UNIX中大家都不叫做批次档,而叫做ShellScript。
一般而言,ShellScript的地位和其它的可执行档(或命令)是完全相同的,只不过ShellScript是以文字档的方式储存,而非二进位档。而执行ShellScript时,必须有一个程式将其内容转成一道道的命令执行,而这个程式其实就是Shell,这也就是为什麽我们叫做ShellScript的原因(往後我们称为Script)。不同Shell的Script基本上会有一些差异,所以我们不能将写给Ashell的Script用Bshell执行。而在UNIX中大家最常使用BourneShell以及CShell,所以这堂课就介绍这两种Script的写法。
将文字档设为可执行的ShellScript
如果我们已经写好Script,如何将其设成可执行档呢?因为Script其实是一个可执行档,所以必须将其存取权设定成可执行。我们可以使用下列命令更改存取权:
chmodu+xfilename只有自己可以执行,其它人不能执行		
chmodug+xfilename只有自己以及同一群可以执行,其它人不能执行	
chmod+xfilename所有人都可以执行					
而我们如何指定使用那一个Shell来解释所写的Script呢?几种基本的指定方式如下所述:
1.如果Script的第一个非空白字元不是"#",则它会使用BourneShell。
2.如果Script的第一个非空白字元是"#"时,但不以"#!"开头时,则它会使用CShell。
3.如果Script以"#!"开头,则"#!"後面所写的就是所使用的Shell,而且要将整个路径名称指出来。
这里建议使用第三种方式指定Shell,以确保所执行的就是所要的。BourneShell的路径名称为/bin/sh,而CShell则为/bin/csh。
除了在Script内指定所使用的Shell外,你也可以在命令列中强制指定。比如你要用CShell执行某个Script,你可以下这个命令:
cshfilename
此时的Script的存取权就不一定要为可执行档,其内部所指定的Shell也会无效,详细的情形後面会讨论。
Script的基本结构及观念Script是以行为单位,我们所写的Script会被分解成一行一行来执行。而每一行可以是命令、注解、或是流程控制指令等。如果某一行尚未完成,可以在行末加上"\",这个时候下一行的内容就会接到这一行的後面,成为同一行,如下
echothemessageis\
toolongsowehave\
tosplititinto\
severallines.
当Script中出现"#"时,再它後面的同一行文字即为注解,Shell不会对其翻译。
在Script中要执行一个命令的方法和在命令列中一样,你可以前景或背景执行,执行命令时也会需要设定一些环境变数。
Script的流程控制和一般高阶语言的流程控制没有什麽两样,也和高阶语言一样有副程式。这些使得Script的功能更加强大。
为了达到与高阶语言相同的效果,我们也可以在Script中设定变数,如此使Script成为一个名付其实的高阶语言。
BourneShell
一、变数
BourneShell的变数型态只有字串变数,所以要使用数值运算则必须靠外部命令达成目的。而其变数种类有下列几种:
使用者变数
这是最常使用的变数,我们可以任何不包含空白字元的字串来当做变数名称。设定变数值时则用下列方式:
var=string	取用变数时则在变数名称前加上一"$"号。
name=Tom
echoname
echo$name
结果如下:
name
Tom
2.系统变数(环境变数)
和使用者变数相似,只不过此种变数会将其值传给其所执行的命令。要将一使用者变数设定为系统变数,只要加上:
exportvar
name=Tom
exportname
以下是使用者一进入系统之後就已设定好的系统变数:
$HOME	使用者自己的目录
$PATH	执行命令时所搜寻的目录
$TZ	时区
$MAILCHECK	每隔多少秒检查是否
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

UNIX SHELL脚本编程

文档大小:66KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用