(Gentoo)Bash示例,第一部分.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
声明: 本文的原始版本最初发表于IBM developerWorks,现在所有权归属Westtech Information Services。本文档是原始文档的更新版本,包含了Gentoo Linux文档团队所做的很多改进。 现在无人积极维护本文档。 Bash示例,第一部分 内容: 1.? Bourne again shell(bash)基础编程 简介 你可能会奇怪为什么你应该学习Bash编程。那么,这里有两个令人信服的理由: 你已经开始运行它了 如果检查一下,你可能将会发现你现在正在运行bash。即使你改变了你默认的shell,bash也可能仍在你系统的某个地方运行,因为它是标准的 Linux shell并被用做多种用途。由于bash已经运行,你运行的任何附加的bash脚本拥有固有的内存高效性,这是因为它们和任何已经运行的bash进程共 享内存。如果你已经运行了些东西来做这项工作,并且做的很好,那还为什么要载入一个500K的解释器呢? 你正在使用它 不仅是因为你已经运行了bash,另外你还在每天的基本工作中与bash进行交互。它就在那里,所以学习如何最大限度的使用它就变得很有意义。这么做将是 你的bash之旅更加有意思和具有创制性。但是为什么你应该学习bash编程呢?很简单,因为你已经在思考运行命令,复制粘贴文件,以及管道和重定向输 出。那你是否应该学习这种语言,以便使用和利用那些已熟悉和喜爱的强大省时的概念呢?命令shell开启了UNIX系统的潜能,而bash就是Linux shell。它是你和机器之间的高等级的纽带。随着你的bash知识的增长,同时你将能自动的增加你在Linux和UNIX下的生产力──就是这么简单。 Bash的困惑 通过错误的方法学习bash会是一个非常困惑的过程。很多新手敲入man bash来查看bash的man页,但令人头疼的是只面临一些shell函数特别简明和科技性的解释。其他人通过敲入info bash(来查看GNU的信息文档),但可能是man页的翻版,也可能(如果他们幸运的话)仅是一些稍微友好的信息文档出现。 然而这些对于初学者来说在一定程度上是令人沮丧的,标准的bash文档不可能是适合于每一个人的所有东西和迎合所有已经对一般的shell编程十分熟悉的人。毋庸置疑的,在man页上有很多优秀的技术性的信息,但是它对于初学者来说帮助是有限的。 这是这个系列存在的原因。在它里面,我将向你展示如何有效的使用bash编程结构,以便你能够编写你自己的脚本。与科技性的说明不同的是,我将通过易懂的 英文向你们讲解,使你不仅知道这是什么,而且知道你应该在什么时候有效的使用它。到这个三部分的系列之后,你将能够编写你自己的精巧的bash脚本,并能 够达到一个能够很舒服的使用bash和通过读(和理解)标准的bash文档来增进你的知识的层次上。那就让我们开始吧! 环境变量 在bash和几乎所有其他shell下,用户可以定义环境变量,它们被以ASCII字符的形式存储在内部。环境变量最有用的地方在于它们是UNIX作业模 型中的一个标准部分。这意味着环境变量并非是shell脚本所独有,而是同样可以为标准的编译程序所使用。当我们在bash下export一个环境变 量,任何之后我们运行的程序都可以读取我们的设定,而不管它是否是不是一个shell脚本。一个很好的例子是vipw命令,它通常允许root去编辑系统密码文件。通过设定EDITER环境变量来命名你喜欢的文本编辑器,你可以设定vipw去使用而不是vi,特别是如果你习惯于xemacs而又实在讨厌vi。 在bash下定义一个环境变量的标准方法是: 代码?1.1: 定义环境变量 $ myvar=This is my environment variable! 上面的命令定义了一个叫myvar的环境变量并包含This is my environment variable!字符串。上面有很多是需要我们注意的:首先,在=号两侧没有空格,任何空格都将导致一个错误产生(可以试一下看看)。第二要注意 的是虽然在定义一个词时我们可以省略引号,但当环境变量的值多于一个词(包含空格或制表符)时,引号却是必须的。 注意: 要想获得关于如何在bash中使用引号的更加详尽的信息,请参考bash man页中QUOTING一节。特殊字符序列由其它值扩展(替换)确实使 bash 中字符串的处理变得复杂。本系列将只讲述最常用的引用功能。 第三,当我们通常可以用双引号代替单引号,在上面的例子中这样做会导致一个错误。为什么呢?因为用单引号禁用了一个bash称为扩展的特性,其中特殊字符 和字符序列的值可以互换。比如,!字符是历史扩展字符,它通常由之前敲入的命令所替换。(在这个系列的文章中

文档评论(0)

dashewan + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档