UNIX SHELL脚本编程入门与BourneShell、CShell解析

需积分: 7 0 下载量 175 浏览量 更新于2024-09-16 收藏 67KB DOC 举报
"UNIX SHELL脚本编程" 在UNIX操作系统中,SHELL脚本是一种强大的工具,用于自动化重复性任务和批处理操作。SHELL脚本实际上是一系列命令的集合,以文本文件的形式存储,通过SHELL程序解释执行。这篇资料主要介绍了两种最常见的SHELL——Bourne Shell和C Shell的脚本编程。 首先,了解如何将一个文本文件转化为可执行的Shell Script至关重要。在UNIX系统中,你可以使用`chmod`命令来改变文件的权限,使其具有执行权限。例如,`chmod u+x filename`使文件所有者有执行权限,`chmod ug+x filename`则使所有者和同组用户都具有执行权限,而`chmod +x filename`则是让所有用户都能执行。为了指定哪个SHELL来执行脚本,可以在脚本文件的开头添加特定的指令。 1. 如果脚本的第一个非空白字符不是"#",那么默认会使用Bourne Shell。 2. 如果第一个非空白字符是"#"但不以"#!"开头,那么通常会使用C Shell。 3. 当脚本以"#!"(称为shebang)开头时,"#!"后面跟着的路径是解释器的路径,这样就指定了执行该脚本的特定SHELL。 接下来,资料详细阐述了Bourne Shell和C Shell的脚本基础和特性: **Bourne Shell**: - **变数**:Bourne Shell支持环境变量和用户定义的变量,如`$HOME`, `$USER`等,并可以通过`export`命令设置环境变量。 - **执行命令**:可以直接在脚本中写入命令行命令,如`ls`, `cd`, `echo`等。 - **流程控制**:提供了if-else语句,for循环,while循环,case语句等,允许编写复杂的逻辑控制。 **C Shell**: - **变数**:C Shell的语法与C语言类似,提供了更丰富的变量操作,如`set`和`unset`命令。 - **执行命令**:同样支持执行各种系统命令,但C Shell有自己的历史记录管理和命令别名功能。 - **流程控制**:C Shell的流程控制结构包括if-then-else-end, while-do-done, foreach-end等,语法上比Bourne Shell更加灵活。 此外,资料还提到了两个重要的命令工具,用于在脚本中进行表达式计算和条件检查: - **expr命令**:一个用于执行算术和字符串操作的命令,例如`expr $var + 5`用来计算变量`$var`的值加5。 - **test命令**:用于进行条件测试,例如`if test -f filename; then ... fi`用来判断`filename`是否存在。 掌握SHELL脚本编程不仅能够提高工作效率,也是深入理解UNIX系统工作原理的关键步骤。通过学习和实践Bourne Shell和C Shell的脚本编写,用户可以创建定制化的工具和自动化工作流程,充分利用UNIX系统的强大功能。