daniel robbins 【扩展信息:Programming in Lua翻译】
总裁兼 ceo,gentoo technologies, inc. 2000 年 3 月 通过学习如何使用 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 进程模型的标准部分.... 下一页