- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LINUX系管统理员的终极武器
LINUX系统管理员的终极武器---shell详解
在DOS 中,你可能会从事一些例行的重覆性工作,此时你会将这些重覆性的命令写 成批次档,只要执行这个批次档就等於执行这些命令。大家会问在UNIX中是否有批次处 理这个东东,答案是有的。在UNIX中不只有如DOS 的批次处理,它的功能比起DOS 更强 大,相对地也较复杂,已经和一般的高阶语言不相上下。在UNIX中大家都不叫做批次档 ,而叫做Shell Script。 一般而言,Shell Script的地位和其它的可执行档(或命令)是完全相同的,只不 过Shell Script是以文字档的方式储存,而非二进位档。而执行Shell Script时,必须 有一个程式将其内容转成一道道的命令执行,而这个程式其实就是Shell ,这也就是为 什麽我们叫做Shell Script的原因(往後我们称为Script)。不同Shell 的Script基本 上会有一些差异,所以我们不能将写给A shell 的Script用B shell 执行。而在UNIX中 大家最常使用Bourne Shell以及C Shell ,所以这堂课就介绍这两种Script的写法。 将文字档设为可执行的Shell Script 如果我们已经写好Script,如何将其设成可执行档呢?因为Script其实是一个可执 行档,所以必须将其存取权设定成可执行。我们可以使用下列命令更改存取权: chmod u+x filename 只有自己可以执行,其它人不能执行 chmod ug+x filename 只有自己以及同一群可以执行,其它人不能执行 chmod +x filename 所有人都可以执行 而我们如何指定使用那一个Shell 来解释所写的Script呢?几种基本的指定方式如 下所述: 1. 如果Script的第一个非空白字元不是#,则它会使用Bourne Shell。 2. 如果Script的第一个非空白字元是#时,但不以#!开头时,则它会使用C Shell。 3. 如果Script以#!开头,则#!後面所写的就是所使用的Shell,而且要将整个路径 名称指出来。这里建议使用第三种方式指定Shell ,以确保所执行的就是所要的。Bourne Shell的路 径名称为/bin/sh ,而C Shell 则为/bin/csh。 除了在Script内指定所使用的Shell 外,你也可以在命令列中强制指定。比如你要 用C Shell 执行某个Script,你可以下这个命令: csh filename 此时的Script的存取权就不一定要为可执行档,其内部所指定的Shell 也会无效,详细 的情形後面会讨论。 Script的基本结构及观念 Script是以行为单位,我们所写的Script会被分解成一行一行来执行。而每一行可 以是命令、注解、或是流程控制指令等。如果某一行尚未完成,可以在行末加上 , 这个时候下一行的内容就会接到这一行的後面,成为同一行,如下 echo the message is too long so we have to split it into several lines. 当Script中出现# 时,再它後面的同一行文字即为注解,Shell 不会对其翻译。 在Script中要执行一个命令的方法和在命令列中一样,你可以前景或背景执行,执 行命令时也会需要设定一些环境变数。 Script的流程控制和一般高阶语言的流程控制没有什麽两样,也和高阶语言一样有 副程式。这些使得Script的功能更加强大。 为了达到与高阶语言相同的效果,我们也可以在Script中设定变数,如此使Script 成为一个名付其实的高阶语言。 Bourne Shell
一、变数 Bourne Shell的变数型态只有字串变数,所以要使用数值运算则必须靠外部命令达 成目的。而其变数种类有下列几种: 1. 使用者变数 这是最常使用的变数,我们可以任何不包含空白字元的字串来当做变数名称。 设定变数值时则用下列方式: var=string 取用变数时则在变数名称前加上一$ 号。 name=Tom echo name echo $name 结果如下: name Tom 2. 系统变数(环境变数) 和使用者变数相似,只不过此种变数会将其值传给其所执行的命令。要将一使 用者变数设定为系统变数,只要加上: expor
您可能关注的文档
最近下载
- 基于VISSIM的城市道路交叉口自适应信号控制仿真技术研究-交通运输规划与管理专业论文.docx VIP
- 专题05 名著导读【备考2025】2024年中考语文真题分类汇编 全国版(含答案).docx VIP
- (完整版)交管12123学法减分考试题库及答案.docx
- 群建阀门公司安全生产事故应急预案.doc VIP
- GA_T 1343-2016防暴升降式阻车路障.pdf
- 教育数字化转型背景下高校数字素养教育实践模式创新路径.docx VIP
- 200个句子涵盖了高中英语4500词汇[宝典].doc
- 体育馆会堂网架提升专项施工方案.doc
- 小学英语“教—学—评”一体化的优势及运用对策.pptx VIP
- 2020年2月四川省喜德县医院系统(卫生类)招聘考试《医学基础知识》试卷及答案.pdf
文档评论(0)