Bash示例第一部分.docxVIP

  • 0
  • 0
  • 约8.83千字
  • 约 10页
  • 2023-04-24 发布于上海
  • 举报
声明: 声明: 本文的原始版本最初发表于IBM developerWorks,现在所有权归属 Westtech Information Services。本文档是原始文档的更新版本, 包含了 Gentoo Linux 文档团队所做的很多改进。 现在无人积极维护本文档。 Bash 示例,第一部分 内容: 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: 定义环境变量 代码 1.1: 定义环境变量 $ myvar=This is my environment variable! 上面的命令定义了一个叫myvar的环境变量并包含This is my environment variable!字符串。上面有很多是需要我们注意的:首先,在=号两侧没有空格,任何空格都将导致一个错误产生(可以试一下看看)。第二要注意 的是虽然在定义一个词时我们可以省略引号,但当环境变量的值多于一个词(包含空格或制表符)时,引号却是必须的。 注意: 注意: 要想获得关于如何在bash 中使用引号的更加详尽的信息,请参考 bash man 页中QUOTING一节。特殊字符序列由其它值扩展(替换)确实使 bash 中字符串的处理变得复杂。本系列将只讲述最常用的引用功能。 第三,当我们通常可以用双引号代替单引号,在上

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档