- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Bash 实例,第一部分Bourne again shell (bash) 基本编程
通过学习如何使用 bash 脚本语言编程,将使 Linux 的日常交互更有趣和有生产力,同时还可以利用那些已熟悉和喜爱的标准 UNIX 概念(如管道和重定向)。在此三部分系列中,Daniel Robbins 将以示例指导您如何用 bash 编程。他将讲述非常基本的知识(这使此系列十分适合初学者),并在后续系列中逐步引入更高级特性。
您可能要问:为什么要学习 Bash 编程?好,以下是几条令人信服的理由:
已经在运行它如果查看一下,可能会发现:您现在正在运行 bash。因为 bash 是标准 Linux shell,并用于各种目的,所以,即使更改了缺省 shell,bash 可能仍在系统中某处运行。因为 bash 已在运行,以后运行的任何 bash 脚本都天生是有效利用内存的,因为它们与任何已运行的 bash 进程共享内存。如果正在运行的工具可以胜任工作,并且做得很好,为什么还要装入一个 500K 的解释器?
已经在使用它不仅在运行 bash,实际上,您每天还在与 bash 打交道。它总在那里,因此学习如何最大限度使用它是有意义的。这样做将使您的 bash 经验更有趣和有生产力。但是为什么要学习 bash 编程?很简单,因为您已在考虑如何运行命令、CPing 文件以及管道化和重定向输出。为什么不学习一种语言,以便使用和利用那些已熟悉和喜爱的强大省时的概念?命令 shell 开启了 UNIX 系统的潜能,而 bash 正是这个 Linux shell。它是您和机器之间的高级纽带。增长 bash 知识吧,这将自动提高您在 Linux 和 UNIX 中的生产力 -- 就那么简单。
Bash 困惑以错误方式学习 bash 令人十分困惑。许多新手输入 man bash 来查看 bash 帮助页,但只得到非常简单和技术方面的 shell 功能性描述。还有人输入 info bash(来查看 GNU 信息文档),只能得到重新显示的帮助页,或者(如果幸运)略为友好的信息文档。
尽管这可能使初学者有些失望,但标准 bash 文档无法满足所有人的要求,它只适合那些已大体熟悉 shell 编程的人。帮助页中确实有很多极好的技术信息,但对初学者的帮助却有限。
这就是本系列的目的所在。在本系列中,我将讲述如何实际使用 bash 编程概念,以便编写自己的脚本。与技术描述不同,我将以简单的语言为您解释,使您不仅知道事情做什么,还知道应在何时使用。在此三部分系列末尾,您将可以自己编写复杂的 bash 脚本,并可以自如地使用 bash 以及通过阅读(和理解)标准 bash 文档来补充知识。让我们开始吧。
环境变量在 bash 和几乎所有其它 shell 中,用户可以定义环境变量,这些环境变量在以 ASCII 字符串存储。环境变量的最便利之处在于:它们是 UNIX 进程模型的标准部分。这意味着:环境变量不仅由 shell 脚本独用,而且还可以由编译过的标准程序使用。当在 bash 中“导出”环境变量时,以后运行的任何程序,不管是不是 shell 脚本,都可以读取设置。一个很好的例子是 vipw 命令,它通常允许 root 用户编辑系统口令文件。通过将 EDITOR 环境变量设置成喜爱的文本编辑器名称,可以配置 vipw,使其使用该编辑器,而不使用 vi,如果习惯于 xemacs 而确实不喜欢 vi,那么这是很便利的。
在 bash 中定义环境变量的标准方法是:
$ myvar=This is my environment variable! 以上命令定义了一个名为 myvar 的环境变量,并包含字符串 This is my environment variable!。以上有几点注意事项:第一,在等号 = 的两边没有空格,任何空格将导致错误(试一下看看)。第二个件要注意的事是:虽然在定义一个字时可以省略引号,但是当定义的环境变量值多于一个字时(包含空格或制表键),引号是必须的。
引用细节有关如何在 bash 中使用引号的非常详尽的信息,请参阅 bash 帮助页面中的“引用”一节。特殊字符序列由其它值“扩展”(替换)确实使 bash 中字符串的处理变得复杂。本系列将只讲述最常用的引用功能。 第三,虽然通常可以用双引号来替代单引号,但在上例中,这样做会导致错误。为什么呢?因为使用单引号禁用了称为扩展的 bash 特性,其中,特殊字符和字符系列由值替换。例如,! 字符是历史扩展字符,bash 通常将其替换为前面输入的命令。(本系列文章中将不讲述历史扩展,因为它在 bash 编程中不常用。有关历史扩展的详细信息,请参阅 bash 帮助页中的“历史扩展”一节。)尽管这个类
您可能关注的文档
- 《机械CADCAMa》教学大纲.doc
- 《计算机图形学》教学参考书目.doc
- 《离散数学课程实验》大纲.doc
- 《模流分析基础入门》1.doc
- 《软件工程》复习题1和答案.doc
- 《软件工程练习题及参考答案》.doc
- 《商务网站模拟与实现》模板(适用09级信管&电商).doc
- 《数据结构01》复习题_答案.doc
- 《数据结构02》复习题及答案.doc
- 《数据结构》(开放本科)课程教学一体化设计方案.doc
- 二手奢侈品鉴定标准体系在奢侈品市场中的品牌形象塑造研究.docx
- 2025年自动驾驶汽车自动驾驶汽车与公共交通系统研究报告.docx
- 2025年消防职业技能鉴定考试历年机考真题集附参考答案详解(基础题).docx
- 城市雨水资源优化配置2025年海绵城市建设案例报告.docx
- 聚焦2025年:工业机器人市场增长趋势与政策环境分析报告.docx
- 职场新人2025年远程办公需求与挑战分析报告.docx
- 老年教育课程体系2025年构建与翻转课堂模式探索.docx
- 2025年投资银行在5G基站设备产业融资中的业务创新与市场分析报告.docx
- 2025年医疗行业社会资本投资政策环境与市场趋势研究报告.docx
- 2025年厨房电器电商仓储配送体系优化与创新研究报告.docx
文档评论(0)