Linux Shell 编程:特殊变量和 Shell 介绍

需积分: 10 1 下载量 24 浏览量 更新于2024-08-25 收藏 483KB PPT 举报
Linux Shell 中的特殊变量 Linux Shell 中的特殊变量是指一些预定义的变量,它们可以在 Shell 脚本中使用,以获取某些信息或执行某些操作。这些特殊变量可以分为两类:位置参数和其他特殊变量。 **位置参数** 位置参数是指那些可以获取命令行参数的变量。这些变量包括: * `$*`:位置参数,从 1 开始。当扩展发生在双引号时,它展开成一个单独的词,每个参数的值由 IFS 特殊变量的第一个字符分隔。 * `$@`:位置参数,从 1 开始。当在双引号里展开时,每个参数展开成独立的词。 * `$1`、`$2`、`$3` 等:表示第一个、第二个、第三个参数等。 **其他特殊变量** 这些特殊变量可以获取 Shell 的某些信息或执行某些操作。这些变量包括: * `#$`:位置参数个数。 * `?$`:展开成最近执行的前台管道程序的退出状态。 * `$$`:Shell 的进程 ID。 * `$!`:展开成最近在后台(异步)执行的命令的进程 ID。 * `$0`:展开成 Shell 或者 Shell 脚本名。 **Shell 简介** Shell 是一种操作系统的接口,它管理用户与操作系统之间的交互。Shell 提供了用户与操作系统之间通讯的方式,既可以以交互方式(从键盘输入,并且可以立即得到响应),也可以以 Shell 脚本(非交互)方式执行。 **Shell 的类型** Shell 有两大类型:Bourne Shell 和 C Shell。 * **Bourne Shell**:最初的 UNIX Shell 是由 Stephen R. Bourne 于 20 世纪 70 年代中期在新泽西的 AT&T 贝尔实验室编写的。Bourne Shell 是一个交互式的命令解释器和命令编程语言。它有多种变种,包括 sh、ksh、bash 和 POSIX shell。 * **C Shell**:Bill Joy 于 20 世纪 80 年代早期,在 Berkeley 的加利福尼亚大学开发了 C Shell。它主要是为了让用户更容易地使用交互式功能,并把 ALGOL 风格的语法结构变成了 C 语言风格。 **Shell 的位置** Shell 是操作系统中一个进程,位于 `/bin/` 目录下。常见的 Shell 程序包括 `/bin/sh`、`/bin/ksh`、`/bin/bash`、`/bin/csh` 和 `/bin/tcsh`。 **特别说明 -- Korn Shell** Korn Shell 是 David Korn 于 20 世纪 80 年代开发的。Korn Shell 结合了所有的 C Shell 的交互式特性,并且具有 Bourne Shell 的编程能力。