SHELL 内置变量.

BASH SHELL简介.
BASH是Bourne Again Shell的缩写,Bunne Again Shell是一个双关的名称,是对Bourne Shell(即Steven Bourne发明)的致敬.
Bash是由Brian Fox编写的Shell程序,是Bourne Shell程序”sh”的升级版本.这是一个开源GNU项目.它于1989年发布,是GNU/Linux操作系统最流行的shell发行版之一.它提供了比BourneShell更好的功能,可用于编程和交互使用.它包括命令行编辑,键绑定,无限制大小的命令历史记录等.用基本术语来说,Bash是一个命令行解释器,通常在文本窗口中运行,用户可以在其中解释命令以执行各种操作.这些命令在文件中作为一系列命令的组合称为Shell脚本。Bash可以从Shell脚本读取和执行命令.
Bash是大多数Linux发行版和苹果Mac OS的默认登录Shell.
下面来看一下Shell的用途,Shell:UNIX Shell是一种程序或命令行解释程序,用于解释用户直接输入的用户命令或从文件中读取的用户命令(即,Shall Script),然后将它们传递给操作系统以进行操作或处理.
要注意,这个过程是解释而不编译脚本,因为计算机系统会解释它们,并且无需按执行顺序编译Shell脚本.
Linux操作系统中有不同类型的Shell.其中一些如下:
- Bourne Shell
- C shell
- Korn Shell
- GNU Bourne Shell
BASH SHELL内置变量.
| 变量名 | 作用 |
|---|---|
${BASH_COMMAND} | 当前执行的命令. |
${LINENO} | 显示当前所在行号. |
${FUNCNAME[i]} | 在第几层函数 |
${HOSTNAME} | 主机名. |
${HOSTTYPE} | 主机架构. |
${OSTYPE} | 系统类型. |
${MACHTYPE} | 系统信息. |
${HOME} | 用户家目录. |
${EUID} | 有效用户的ID. |
${GROUPS} | 当亲用户所属组GID. |
${OLDPWD} | 上个工作目录. |
${PWD} | 当前工作目录. |
${$$} | Shell本身的PID. |
${RANDOM} | 随机数生成器. |
${SECONDS} | 脚本运行的时间. |
${PATH} | PATH环境变量. |
${PPID} | 父进程ID. |
${#} | 表示从命令行传入脚本的参数数量. |
${0},${1},${2}…${n} | 是从命令行传递到脚本的参数${0}是脚本本身的名字. |
${1} | 是第一个参数. |
${2} | 是第二个参数,依此类推. |
| ${n} | 是第n个参数. |
${?} | 命令,函数,或者脚本的退出状态. |
${IFS} | 识别字符串或单词边界,默认值是空格. |
${PS1} | bash shell 第1提示符. |
${PS2} | bash shell 第2提示符. |
${*},${@} | 把所有参数看作一个字符串. |
${_} | 之前执行命令的最后一个参数. |
${BASH} | bash shell的二进制文件路径. |
${UID} | 用户UID. |
${BASH_VERSION} | bash shell的版本. |


