1.1. 常用 Shell 程序

1.1.1. 通用 Shell 功能

UNIX Shell 程序解释用户命令,这些命令可以直接由用户输入,也可以从名为 Shell 脚本或 Shell 程序的文件中读取。Shell 脚本是解释执行的,而不是编译的。Shell 逐行读取脚本中的命令,并在系统上搜索这些命令(参见第 1.2 节),而编译器将程序转换为机器可读的形式,即可执行文件 - 然后可以在 Shell 脚本中使用。

除了向内核传递命令外,Shell 的主要任务是提供用户环境,可以使用 Shell 资源配置文件单独配置该环境。

1.1.2. Shell 类型

就像人们知道不同的语言和方言一样,您的 UNIX 系统通常会提供多种 Shell 类型

文件/etc/shells提供了 Linux 系统上已知 Shell 的概述

mia:~> cat /etc/shells
/bin/bash
/bin/sh
/bin/tcsh
/bin/csh

您的默认 Shell 在/etc/passwd文件中设置,例如用户 mia 的这一行

mia:L2NOfqdlPrHwE:504:504:Mia Maya:/home/mia:/bin/bash

要从一个 Shell 切换到另一个 Shell,只需在活动的终端中输入新 Shell 的名称即可。系统使用PATH设置查找名称出现的目录,并且由于 Shell 是可执行文件(程序),因此当前 Shell 会激活它并执行它。通常会显示一个新的提示符,因为每个 Shell 都有其典型的外观

mia:~> tcsh
[mia@post21 ~]$