一 shell的特殊位置变量
shell中特殊位置参数变量:$0、$n、$#、$*、$@、$?
$0:获取当前执行shell脚本文件名,如果执行脚本包含路径,那么就包括脚本路径
# 执行的文件
$n:获取当前执行shell脚本的第n个参数值、n=1..9,当n为0时表示脚本文件名;如果n大于9,则用大括号括起来,例如${10},接的参数以空格隔开
# 脚本传递的参数
$#:获取当前执行的shell脚本后面接的参数个数
# 传参的个数
$*:获取当前shell脚本所有传参的参数,不加引号和$@相同;如果给$*加上双引号,例如:“$*”,则表示将所有的参数视为单个字符串,相当于“$1 $2 $3”
# 传参的内容
$@:获取当前shell脚本所有传参的参数,不加引号和$*相同;如果给$@加上双引号,例如:“$@”,则表示将所有的参数视为独立字符串,相当于“$1“,”$2“,"$3"
$?:命令回传代码,也即上一个命令执行之后的回传代码!
二 .和source与bash和sh执行脚本的区别
source # 在当前shell环境中从文件名读取和执行命令
source(或点)命令 # 通常用于重新执行刚修改的初始化文档
三 取变量或字符串的长度方法(不低于三种)
echo "hello" |wc -L
echo ${#PATH}
expr length "hello"
awk候补
四 如何进行整数计算
expr (())
let
bc
$[]
awk
typeset
五 单引号和双引号的区别