Linux Bash 默认 Shell
Bourne Again SHell —— Linux 大多数发行版的默认 shell。 是 1989 年 GNU 项目对老 Bourne shell (sh) 的开源重写。
为什么是它
- 最普及 —— Ubuntu / Debian / CentOS 默认全是 bash
- 脚本能力强 —— 大量 sysadmin 脚本就是
.sh(实际是 bash) - 历史和补全 —— 上下方向键回放命令、Tab 补全
跟其他 shell 比
| Shell | 特点 |
|---|---|
| bash | Linux 默认,通用 |
| zsh | 更强的补全和插件(Oh My Zsh),macOS 现在默认 |
| fish | 用户友好,语法不兼容 bash |
| sh (POSIX) | 最古老最小化,脚本兼容性最好 |
安全相关
- Shellshock(2014)—— bash 历史最严重的漏洞,允许远程代码执行
- 写 bash 脚本时:用户输入永远不要直接
eval,引号要严格闭合