shell中的解释器
shell支持多种不同风格的解释器,通过/etc/shells文件查看!
默认使用 /bin/bash作为shell命令解释器!
在终端中输入: cat /etc/shells,等价于/bin/bash -c ‘cat /etc/shells’.
默认/bin/bash必须接一个脚本,作为输入!如果是一条命令,需要加-c (command)
脚本的执行
不带路径命令执行脚本首先从环境变量里面找
① bash /sh + 脚本
特点: 新开一个bash执行脚本,一旦脚本执行完毕,bash自动关闭!
② ./脚本,前提是当前用户对脚本有执行权限,使用当前默认的解释器执行脚本
特点: 新开一个bash执行脚本,一旦脚本执行完毕,bash自动关闭!
③ source / . +脚本 使用当前默认的解释器执行脚本,并不要求当前用户对脚本有执行权限
特点: 在当前bash执行脚本,读取文件,并执行文件里面的所有内容
变量
①变量赋值时,值全部以字符串存在,无法进行运算!
②赋值的值中有空格,需要使用引号引起来
单引号: 不能识别$等特殊字符,不能脱义
双引号: 可以脱义$,普通字符
③``,作用是将引号中的命令执行的结果赋值给变量
`命令` 等价于 $(命令)
④特殊变量
$?: 上一条命令的返回值!在bash中,如果返回值为0,代表上一条命令执行成功!
$#: 参数个数
$*: 参数列表。 在使用 "$*"时,将整个参数列表作为一个元素!
$@: 参数列表
$0-n: $0:脚本名
$1-$n: 第n个参数