1.1.1. 常用的shell函数

unix shell程序会解释用户的命令,用户的命令可以是用户直接输入的,或者从文件,该文件可以称为shell脚本或shell程序。

shell脚本是解释语言,非编译的。

传递命令给内核以后,shell的主任务便是提供一个用户环境,这个环境可以基于shell资源配置文件独立地配置。

1.1.2. Shell 类型

shell也分不同的类型

  • sh or Bourne shell:原始shell仍在unix系统或者基于unix环境的系统。这是基本的shell,只有一点点小特性。因为这不是标准shell,但是它仍能在每个linux上使用。
  • bash or Bourne Again shell: 标准的 GNU shell,直观且灵活。对于初学者来说可能是最可取的,同时对于高级和专业用户来说也是一个强大的工具。在 Linux 上,bash是普通用户的标准 shell。这个 shell 是Bourne shell的超集,是一组附加组件和插件。这意味着 Bourne Again shell 与 Bourne shell 兼容:在sh中工作的命令也可以在bash 中工作 。然而,情况并非总是如此。本书中的所有示例和练习都使用bash
  • csh or C shell: 此 shell 的语法类似于 C 编程语言的语法。
  • tcsh or TENEX C shell: 普通 C shell 的超集,增强了用户友好性和速度。这就是为什么有些人也称它为 Turbo C shell。
  • ksh or the Korn shell:有时会受到具有 UNIX 背景的人的欢迎。Bourne shell 的超集;标准配置对于初学者来说是一场噩梦。

文件/etc/shells概述了该 Linux 系统上的 shell:

  1. mia:~> **cat /etc/shells**
  2. /bin/bash
  3. /bin/sh
  4. /bin/tcsh
  5. /bin/csh

默认 shell 在/etc/passwd文件中设置

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

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

  1. mia:~> **tcsh**
  2. \[mia@post21 ~\]$

https://tldp.org/LDP/Bash-Beginners-Guide/html/sect_01_01.html