# Makefile ## shell中的自动变量 `$$`: Shell本身的PID `$!`: Shell最后运行的后台PID `$?`: 最后运行的命令的结束代码(返回值) `$-`: 使用Set命令设定的Flag一览 `$*`: 所有参数列表,以`"$1 $2 $3 ... $n"` 的形式输出, 如果用`"$*"` 来使用,则认为传了一个参数 `$@`: 所有参数列表,以`"$1" "$2" ... "$n"`的形式输出,如果用`"$@"` 来使用,则认为传了多个参数,与`$@`一样 `$#`:所有参数数量 `$_`: 之前命令的最后一个参数 ## Sehll中的字符串操作 取子串: `${变量名:位置起点}` ,`${变量名:位置起点:长度}` 取子串从左边指定位置开始: `${变量名#*子串}`,`${变量名##*子串}` 取子串从右边指定位置开始: `${变量名%子串*}`,`${变量名%%子串*}` 计算串长度: `${#变量名}` 替换或删除子串: `${变量名/样式/替换子串}`,`${变量名//样式/替换子串}`