变量类型:
① 字符型
② 数值型
③ 整数型
④ 浮点型
⑤ 布尔型
逻辑运算:1表示真,0表示假
与:&& and
或:|| or
非:!
异或:
Shell属于弱类型编程语言——数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
Bash变量类型:
① 环境变量
② 本地变量
③ 位置变量
④ 特殊变量
本地变量:
引用本地变量${abc}时花括号有时可以省略。若变量后紧跟着其他字符,如${ABC}S,则不能省略。
变量的赋值方式:
本地变量:VAR=VALUE作用域为整个bash进程
局部变量; local VAR=VALUE作用域为当前代码段
环境变量: export VAR=VALUE 作用域为当前shell进程及其子进程
脚本在执行时会启动一个子shell进程,命令行中启动的脚本会继承当前shell环境变量,
如果是系统自动执行的脚本(非命令行启动),就需要自我定义需要的各环境变量
位置变量:$1,$2…
特殊变量:
$0 脚本名字
$NUM 位置参数(从10开始,位置参数应该写成${10})
$# 位置参数的个数
$* 所有位置参数(作为当个字符串)
$@ 所有位置参数(每个作为单独的字符串)
${#*} 传递到脚本中命令行参数的个数
${#@} 传递到脚本中命令行参数的个数
$? 上个命令的退出状态码,0-255,0为正确,1、2、127为系统预留
$- 传递到脚本中的标识(使用set)
$_ 之前命令的最后一个参数
$! 运行在后台的最后一个作业的进程ID(PID)
查看当前shell中的变量: set
查看当前shell中的环境变量:printevn、evn、export
!# 上一个命令名
!$ 上一个命令的最后一个参数
!:n 上一个命令的第n个参数
转载于:https://blog.51cto.com/doove/1652636