Skip to content

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