Shell

  • foo=bar而非foo = bar:变量赋值,空格会导致语义分割
  • $foo:访问变量的值
  • ':定义的字符串为原义字符串,其中的变量不会被转义,echo "$foo"会打印 bar
  • ":定义的字符串会将变量值进行替换,echo '$foo'会打印 $foo
  • 参数
    • $0:脚本名
    • $1$9:脚本的参数,$1是第一个参数,依此类推
    • $@:所有参数
    • $#:参数个数
    • $?:前一个命令的返回值
    • $$:当前脚本的进程识别码
    • !!:完整的上一条命令,包括参数。常见应用:当你因为权限不足执行命令失败时,可以使用 sudo !!再尝试一次
    • $_:上一条命令的最后一个参数。如果你正在使用的是交互式 shell,你可以通过按下 Esc 之后键入 . 来获取这个值