bash 介绍
时间:2019-04-16 23:59:04 来源:igfitidea点击:
在本shell编程教程中,我们将使用bash来演示。
shell是一种命令语言解释器。Bash是大多数Linux操作系统的的默认shell,其是Bourne-Again SHell的首字母缩写。
Bash在很大程度上与sh兼容,并结合了Korn shell ksh和C shell csh的有用功能。大多数sh脚本可以由Bash运行,而无需修改。
Bash v4.0功能
- 常规运行时环境:POSIX
- 命令和文件名的完成 -Bash可以自动填写部分键入的命令或命令的参数,例如文件名,主机名等。
- 算术支持:
- 支持整数运算。
- 不支持浮点运算。
- 通过内置的printf可以限制指数符号。
- 不支持日期和时间算法。
- 哈希表:Bash使用哈希表来记住可执行文件的完整路径名。
- 支持模式匹配和正则表达式。
- globbing-例如,您可以使用*.conf来匹配/etc目录中的所有那些conf文件。
- 目录栈通过支持的pushd和popd的内置命令。
- Bash完全支持命令历史记录和历史记录完成。
- 自定义命令提示符 -允许您更改默认提示符。
- 无限大小的索引数组(数组)。
- 可以将bash作为交互式登录Shell或交互式非登录Shell运行。
Shell在Linux环境中的作用
Shell在Linux下用于各种目的。
Linux用户环境由以下组件组成:
- 内核——Linux操作系统的核心。
- Shell-在用户和内核之间提供接口。
- 终端仿真器-例如xterm程序是X窗口系统的终端仿真器。
- Linux桌面和Windows管理器-Linux桌面是各种软件应用程序的集合。它包括文件管理器、windows管理器、终端模拟器等等。
shell用于登录
当用户登录时,Bash将使用以下文件进行初始化和启动:
/etc/profile - 用于登录Shell的系统范围的初始化文件。
/etc/bash.bashrc - 系统范围的每个交互式shell启动文件。(不是每种系统都有)
/etc/bash.logout - 系统范围的Shell清理文件,在退出Shell时执行。
$HOME/.bash_profile - 登录shell时执行的个人初始化文件
$HOME/.bashrc - 单独的交互式shell启动文件。
$HOME/.bash_logout - 单个shell清理文件,在退出shell时执行。
$HOME/.inputrc - 单个readline初始化文件。