shell
特殊变量
- $0、$1...(数字):命令名、命令参数1...
- $n: 第n个参数
- $#:命令行参数个数
- $*:命令行所有参数(整体一个字符串)
- $@:命令行所有参数(每个参数的数组)
状态变量
- $?:上一条命令的退出状态
- $!:后台运行的最后一个进程的进程号
- $$:当前进程的进程号
- $_:上一条命令的最后一个参数
内置命令
- echo:输出
- -e:支持反斜杠转义
- -n:不换行输出
- eval:将字符串作为命令执行
- exec:执行命令后,自动执行exit命令
字串用法
- ${变量}:返回变量值
- ${#变量}:返回字符串长度
- ${变量:1}: 返回索引1之后的字符串
- ${变量:start:length}: 返回索引start之后length长度的字符串
- ${变量#word}:从开头删除最短匹配的字串
- ${变量##word}:从开头删除最长匹配的字串
- ${变量%word}:从结尾删除最短匹配的字串
- ${变量%%word}:从结尾删除最长匹配的字串
- ${变量/pattern/string}:将第一个匹配pattern的字串替换为string
- ${变量//pattern/string}:将所有匹配pattern的字串替换为string