用这种编程语言编写的Shell程序与 其他应用程序具有同样的效果。 用户输入的命令的类型 可以将用户输入的命令分为两类: ? 内部命令:由操作系统提供,与操作系统内核 联系比较紧密的命令,在操作系统自举过程中 已经作为进程被启动,常驻内存。运行比较快。 执行方法:直接在命令提示符下输入命令名及 其选项和参数。 ? 外部命令 – 由操作系统提供的不常驻内存的部分命令,需要 由与该命令对应的可执行的程序存放在硬盘上。 – 任何可执行的程序。 执行方法:命令(程序)的路径+名字 选项,参数 Shell的类型 Linux支持的shell的类型都记录在/etc/shells中。 目前比较常用的shell有ash、bash、ksh、csh、zsh等, 用下面的命令来查看你自己的shell类型: echo $SHELL $SHELL是一个环境变量,它记录用户所使用的 shell类型。你可以用命令: #shell-name 来转换到别的shell,这里shell-name是你想要尝试 使用的shell的名称,如ash等。这个命令为用户又启 动了一个shell,这个shell在最初登录的那个shell之后, 称为下级的shell或子shell。使用命令: $exit 可以退出这个子shell。 bash的功能 ? 交互式处理(命令解释功能) ? 命令补全功能(按tab或连续按两次esc) ? 查阅历史命令history ? 别名功能 ? 后台处理 ? 输入输出重定向 ? 管道 Shell中的特殊字符 特殊字符: *:可以匹配任意长度的字符串 ?:可以匹配任何一个字符 ;:分隔多个命令 #:注释 `(倒引号):包含在一对倒引号中的字符串代 表命令 []:指定字符范围 [!]:排除指定范围 控制组合键 常见的控制组合键见教材p214 Shell环境变量介绍与设置 像高级程序设计语言一样,shell也提供说明和使 用变量的功能。对shell来讲,所有变量的取值 都是一个字符串,shell程序采用$var的形式来 引用名为var的变量的值。 Shell有以下几种基本类型的变量: (1)shell定义的环境变量 (2)用户定义的变量 (3)位置参数 (4)预定义变量 环境变量: shell在开始执行时就已经定义了一些和系统的工作环 境有关的变量,这些变量用户还可以重新定义,常用的shell环境 变量有: HOME:用于保存注册目录的完全路径名。 PATH:用于保存用冒号分隔的目录路径名,shell将按PATH变 量中给出的顺序搜索这些目录,找到的第一个与命令名称一致的 可执行文件将被执行。 TERM:终端的类型。 UID:当前用户的标识符,取值是由数字构成的字符串。 PWD:当前工作目录的绝对路径名,该变量的取值随cd命令的 使用而变化。 PS1:主提示符,在特权用户下,缺省的主提示符是“#”,在 普通用户下,缺省的主提示符是“$”。 PS2:在shell接收用户输入命令的过程中,如果用户在输入行 的末尾输入“\”然后回车,或者当用户按回车键时shell判断出用 户输入的命令没有结束时,显示这个辅助提示符,提示用户继续 输入命令的其余部分,缺省的辅助提示符是“>”。 设置环境变量 利用格式 环境变量名=变量值 即可重新设置环境变量。 查看所有环境变量的命令:set Shell设置文件 改变环境变量的方法由两个: 1。