Shell是提供操作系统核心(称为kebel)与用户之间交互的特殊程序.
通过查看文件/etc/shell,能够得知你的Linux版本下运行的是哪个shell.
例如: $ cat /etc/shell
/bin/bash /bin/sh /bin/ash /bin/bsn /bin/tcsh /bin/csh /bin/ksh /bin/zsh
说明: /bin/shell 包含了在你的Linux 版本下可以运行的shell程序列表.
切换到一个/bin/shell列表中的Shell.可以使用 chsh 命令和Shell名字. 比如 chsh /bin/tcsh
Shell 的使用
1> 翻译提示符后面的命令.
Shell解析命令行,把它拆成由空格分隔的单词(称为”token”).所谓的空格是制表符,空格或者新的一行.如果命令包含特殊的元字符,Shell会给他们重新赋值.Shell控制文件I/O和后台运行.在命令行完成处理以后,就开始搜索命令并开始它的执行.
2> 初始化文件,使用户的工作环境个性化
这些文件包含终端键盘设置和窗口字符的定义.设置终端类型,权限,提示和搜索路径变量的值.设置特定的应用所必须的变量.
3> Shell可以作为解释型的程序语言
Shell程序也称为脚本,由文件中的命令行组成,在编辑器或在命令行中创建.这些命令通过程序结构组织在一起,包括:变量赋值,环境监测,循环等.但是并不需要编译脚本,因为它们在从键盘输入的时候就被逐行解释了.
Shell 的响应
Shell负责最终保证所有的命令行输入的命令都被正确执行,这个过程包括:
1> 读取输入并解析命令行
2> 给特殊字符赋值
3> 建立管道,重新定向和后台进程
4> 处理信号
5> 建立可执行程序