变量类型:

① 字符型

② 数值型

③ 整数型

④ 浮点型

⑤ 布尔型

 

逻辑运算: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中的环境变量:printevnevnexport

!# 上一个命令名

!$ 上一个命令的最后一个参数

!:n 上一个命令的第n个参数