我们首先以一个具有针对性的最新课程作为开始,随后对本书.docVIP

  • 1
  • 0
  • 约4.97万字
  • 约 55页
  • 2017-12-11 发布于上海
  • 举报

我们首先以一个具有针对性的最新课程作为开始,随后对本书.doc

我们首先以一个具有针对性的最新课程作为开始,随后对本书

我们首先以一个具有针对性的最新课程作为开始,随后对本书中所用到的技术进行简要说明。这些说明涉及的内容非常广泛,从逐行处理文件的最快方式到UNIX和shell脚本的大小写区分。虽然没有包括脚本编程的所有方面,但却是一个很好的开端,而且给出了本书中一个主题的例子。对于在本章中列出的每个主题,在本书后面的章节中都会有一个详细的说明。 我们鼓励读者完整地学习完本书。书中的每一章都使用不同方式对不同的主题进行了讨论。这样做的目的是为了强调绝不是只有一种技术可以解决UNIX中的问题。本书中的所有shell脚本都是解决实际应用中某个问题的例子。读者在阅读本书时,会发现书中讨论了UNIX中的大多数常见任务(也有一些不太常见的任务)。所有的shell脚本都对思考问题的过程进行了良好的解释,而且我们总是以正确的命令语法作为开始,来编写针对某个特定目的的shell脚本。希望读者在阅读本书时能够和我编写本书时一样感到快乐。下面让我们开始吧! 1.1 区分大小写 UNIX是区分大小写的。因此,我们编写的shell脚本也区分大小写。 1.2 UNIX特殊字符 下面所有的字符都具有特殊的意义或功能。如果它们以一种不需要其特殊意义的方式来使用,则必须进行转义(escaped)。为进行转义或去除它的特殊功能,这些字符必须在前面带有一个反斜杠\,或者使用单引号括起来。 \ / ; , . ~ # $ ? * ( ) [ ] ‘ + - ! ^ = | 1.3 shell shell(命令行解释器)是一个能够用来运行命令、程序和shell脚本的环境。shell具有不同的版本,就像操作系统具有不同的版本一样。每种版本的shell都具有各自可以识别的命令集和函数集,本书使用的是Bourne、Bash和Korn shell。根据UNIX版本和版本号的不同,shell位于/usr/bin目录或/bin/目录下,如表1-1所示。 表1-1 不同UNIX中shell所在目录 shell 目  录 Bourne /bin/sh或/usr/bin/sh Bash /bin/Bash或/usr/bin/Bash Korn /bin/ksh或/usr/bin/ksh 1.4 shell脚本 shell脚本shell脚本shell脚本function function_name { commands to execute } 或 function_name () { commands to execute } 当在脚本中编写函数时,必须记住要在使用之前对其进行声明或定义。函数部分必须出现在调用函数的命令语句之前。不能调用尚不存在的函数。 1.6 运行shell脚本 shell脚本ksh shell_script_name 以上命令将创建一个Korn shell,并在新创建的Korn shell环境中执行shell_script_name。这对于sh和Bash shell脚本也适用。 shell_script_name 如果在文件中设置执行位为1(参见chmod命令的参考页面,man chmod),那么以上命令将执行shell_script_name。脚本将在当前shell脚本的第一行所声明的shell中执行。如果在shell脚本的第一行没有声明shell,则脚本将在默认的shell中执行,即用户所在系统定义的shell。在一个非预期的shell中执行脚本可能会导致失败或无法预料的结果。 注意,一定要声明shell。如果想对脚本的运行方式以及在哪个shell下运行进行完全的控制,则必须在shell脚本的第一行对shell进行声明。如果没有声明,则脚本将在默认shell中执行,即用户所在的系统为执行shell脚本定义的shell。例如,如果脚本被编写为在Bash shell,Bash中运行,而默认运行shell脚本的shell为C shell, csh,那么脚本在执行过程中很可能会出错。要声明一个shell,必须在shell脚本的第一行出现如表1-2所示的声明语句。 表1-2 声明不同类型的shell 命 令 描 述 #!/bin/sh 或 #!/usr/bin/sh 声明一个Bourne shell #!/bin/ksh 或 #!/usr/bin/ksh 声明一个Korn shell #!/bin/csh 或 #!/usr/bin/csh 声明一个C shell #!/bin/Bash或#!/usr/bin/Bash 声明一个Bourne-Again(Bash)shell 1.7 shell脚本#!/bin/Bash # # SCRIPT: NAME_of_SCRIPT # AUTHOR: AUTHORS_NAME #

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档