Bash 学习 - 第1章:Introduction

本文为 Bash Reference Manual第1章:Introduction 的读书笔记。

完整的笔记目录参见Bash学习笔记总目录

1 Introduction

1.1 What is Bash?

Bash 是 GNU 操作系统的 shell,即命令语言解释器。

Bash 与 sh 基本兼容,并结合了 Korn shell ksh 和 C shell csh 的有用功能。

Bash是GNU 操作系统的默认 shell,具有高可移植性

1.2 What is a shell?

本质上shell 只是一个执行命令的宏处理器。"宏处理器"是指将文本和符号展开以创建更大表达式的功能。

Unix shell 既是命令解释器 ,又是编程语言。作为命令解释器,shell 为丰富的 GNU 实用程序集提供了用户界面。编程语言功能允许将这些实用程序组合在一起。

Shell 可以以交互或非交互方式(即Shell脚本)使用。

Shell 允许同步和异步执行(即后台执行) GNU 命令。

Shell 还提供了一小部分内置命令 (builtins),用于实现通过单独的实用程序无法或不方便获得的功能。

💡 compgen -b 可列出所有的 builtin,-b 是 -A builtin的缩写。

bash 复制代码
$ compgen -b|wc -l
61

$ compgen -b
.
:
[
alias
bg
bind
break
...

compgen 表示complete generation,他还有很多其他的用法,试一下 compgen -k。

💡 判断某命令是否为builtin

bash 复制代码
$ type compgen
compgen is a shell builtin

$ type do
do is a shell keyword

虽然执行命令是必不可少的,但 shell 的大部分功能(和复杂性)都归功于其嵌入式编程语言。与任何高级语言一样,shell 提供变量、流控制构造、引用和函数。

Shell 提供专门用于交互式使用的功能,而不是增强编程语言。这些交互式功能包括作业控制、命令行编辑、命令历史记录和别名。

相关推荐
Irene19912 天前
Shell 相关基础入门,在 Ubuntu 与 CentOS Shell 中的语法差异总结(bash、dash、sh)
shell
小肝一下2 天前
5. 基础IO
android·linux·shell·基础io·操作系统底层·伊涅夫·伊雷娜
YuanDaima20482 天前
Docker 工程化安装与核心命令实战
运维·人工智能·docker·微服务·容器·bash
红茶要加冰3 天前
七、正则表达式
linux·运维·正则表达式·shell
lifewange3 天前
WSL安装问题解决
shell
AdCj33 天前
放弃第三方框架,用系统自带工具玩转 Shell 测试
shell·测试
红茶要加冰3 天前
九、文本处理三剑客——sed
linux·运维·服务器·正则表达式·shell
山岚的运维笔记4 天前
Bash 专业人员笔记 -- 第 11 章:`true`、`false` 和 `:` 命令
linux·运维·服务器·开发语言·笔记·学习·bash
红茶要加冰4 天前
五、流程控制之循环
linux·运维·shell
红茶要加冰5 天前
二、shell中的变量
linux·运维·shell