`
arne3166
  • 浏览: 125881 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表
所有功能脚本必须有能力进行判断,也必须有能力基于一定条件处理相关命令。本章讲述这方面的功能,在脚本中创建和应用控制结构。本章内容有:• 退出状态。• while、f o r和until loops循环。• if then else语句。• 脚本中动作。• 菜单。

017条件测试

写脚本时,有时要判断字符串是否相等,可能还要检查文件状态或是数字测试。基于这些测试才能做进一步动作。Te s t命令用于测试字符串,文件状态和数字,也很适合于下一章将提到的i f、t h e n、e l s e条件结构。本章内容有:• 对文件、字符串和数字使用t e s t命令。• 对数字和字符串使用e x p r命令。e x p r命令测试和执行数值输出。使用最后退出状态命令$ ?可测知t e s t和e x p r,二者均以0表示正确,1表示返回错误。
一个s h e l l脚本可以包含一个或多个命令。当然可以不必只为了两个命令就编写一个s h e l l脚本,一切由用户自己决定。本章内容有:• 使用s h e l l脚本的原因。• shell脚本基本元素。• shell脚本运行方式。

015引号

上一章介绍了变量和替换操作,在脚本中执行变量替换时最容易犯的一个错误就是由于引用错误。在命令行中引用是很重要的。本章内容有:• 引用的必要性。• 双引、单引和反引号。• 使用反斜线实现屏蔽。
为使s h e l l编程更有效,系统提供了一些s h e l l变量。s h e l l变量可以保存诸如路径名、文件名或者一个数字这样的变量名。s h e l l将其中任何设置都看做文本字符串。有两种变量,本地和环境。严格地说可以有4种,但其余两种是只读的,可以认为是特殊变量,它用于向s h e l l脚本传递参数。本章内容有:• shell变量。• 环境变量。• 变量替换。• 导出变量。• 特定变量。• 向脚本传递信息。• 在系统命令行下使用位置参数。
登录系统时,在进入命令提示符前,系统要做两个工作。键入用户名和密码后,系统检查是否为有效用户,为此需查询/ e t c / p a s s w d文件。如果登录名正确并且密码有效,开始下一步过程,即登录环境。本章内容有:• 登录过程。• 文件/ e t c / p a s s w d。• $HOME.profile。• 定制$ H O M E . p r o f i l e。

012tr 用法

t r用来从标准输入中通过替换或删除操作进行字符转换。t r主要用于删除文件中控制字符或进行字符转换。使用t r时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。t r刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。本章内容有:• 大小写转换。• 去除控制字符。• 删除空行。带有最常用选项的t r命令格式为:t r - c - d - s [ " s t r i n g 1 _ t o _ t r a n s l a t e _ f r o m " ] [ " s t r i n g 2 _ t o _ t riannpsulta ...

011合并与分割

几年前,我习惯于使用运行在终端的P I C K操作的U N I X集合,我实际使用P I C K应用的大部分时间花费在分类与连接过程中,且使用极其频繁。很幸运我没有成为一个全职的P I C K操作员。有几种工具用来处理文本文件分类、合并和分割操作,本章详细介绍这些工具。本章内容有:• 实用的分类(s o r t)操作。• uniq。• join。• cut。• paste。• split。
s e d是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。标准输入可能是来自键盘、文件重定向、字符串或变量,或者是一个管道的文本。s e d可以做些什么呢?别忘了,Vi也是一个文本编辑器。s e d可以随意编辑小或大的文件,有许多s e d命令用来编辑、删除,并允许做这项工作时不在现场。s e d一次性处理所有改变,因而变得很有效,对用户来讲,最重要的是节省了时间。本章内容有:• 抽取域。• 匹配正则表达式。• 比较域。• 增加、附加、替换。• 基本的s e d命令和一行脚本。可以在命令行输入s e d命令,也可以在一个文件中写入命令,然后调用s e d,这与a w k基本相同。 ...
如果要格式化报文或从一个大的文本文件中抽取数据包,那么a w k可以完成这些任务。它在文本浏览和数据的熟练使用上性能优异。整体来说, a w k是所有s h e l l过滤工具中最难掌握的,不知道为什么,也许是其复杂的语法或含义不明确的错误提示信息。在学习a w k语言过程中,就会慢慢掌握诸如Bailing out 和a w k : c m d . L i n e :等错误信息。可以说a w k是一种自解释的编程语言,之所以要在s h e l l中使用a w k是因为a w k本身是学习的好例子,但结合a w k与其他工具诸如g r e p和s e d,将会使s h e l l编程更加容易。本章 ...
相信g r e p是U N I X和L I N U X中使用最广泛的命令之一。g r e p(全局正则表达式版本)允许对文本文件进行模式查找。如果找到匹配模式, g r e p打印包含模式的所有行。g r e p支持基本正则表达式,也支持其扩展集。g r e p有三种变形,即:G r e p:标准g r e p命令,本章大部分篇幅集中讨论此格式。E g r e p:扩展g r e p,支持基本及扩展的正则表达式,但不支持\ q模式范围的应用,与之相对应的一些更加规范的模式,这里也不予讨论。F g r e p:快速g r e p。允许查找字符串而不是一个模式。不要误解单词f a s t,实际上它与 ...
linux下要判断文件是否存在如果不存在则创建 if [ -d $HOME'/dr'] then     mkdir $HOME'/dr' else     echo "the directry is exist;" fi     在下是linux编程新手,如果错误还请高手们指教
在 linux 中输入 mail, 就进入了收件箱。 直接可以查看到我的邮件的列表。   如果想看某一个具体的邮件,可以直接输入邮件的编号。可以看到以下信息例如   Message 1: From dflin@linux-4yuh.site Sat Aug 28 12:36:01 2010 X-Original-To: dflin Delivered-To: dflin@linux-4yuh.site From: dflin@linux-4yuh.site To: dflin@linux-4yuh.site Subject: Cron <dflin@linux-4yuh> ...
随着对U N I X和L I N U X熟悉程度的不断加深,需要经常接触到正则表达式这个领域。使用s h e l l时,从一个文件中抽取多于一个字符串将会很麻烦。例如,在一个文本中抽取一个词,它的头两个字符是大写的,后面紧跟四个数字。 ...
在执行某个命令的时候,有时需要依赖于前一个命令是否执行成功。例如,假设你希望将一个目录中的文件全部拷贝到另外一个目录中后,然后删除源目录中的全部文件。在删除之前,你希望能够确信拷贝成功,否则就有可能丢失所有的文件。在本章中,我们将讨论:• 命令执行控制。• 命令组合。如果希望在成功地执行一个命令之后再执行另一个命令,或者在一个命令失败后再执行另一个命令,& &和| |可以完成这样的功能。相应的命令可以是系统命令或s h e l l脚本。S h e l l还提供了在当前s h e l l或子s h e l l中执行一组命令的方法,即使用()和{ }。
Global site tag (gtag.js) - Google Analytics