shell编程:
编译器,解释器
编程语言:机器语言、汇编语言、高级语言
静态语言:编译型语言
强类型(变量)
事先转换成可执行格式
C、C++、JAVA、C#
动态语言:解释性语言
弱类型
边解释边执行
PHP、SHELL、Python、perl
面向过程:Shell,C
面向对象:JAVA,Python,perl,C++
变量:内存空间,命名
内存:编址的存储单元
变量类型:事先确定数据的存储格式和长度
字符
数值:整型、浮点型
布尔:真、假
逻辑运算:与、或、非、异或
强类型语言:变量在使用前,必须事先声明,甚至还需要初始化
弱类型语言:变量用时声明,甚至不区分类型
变量赋值:VAR_NAME=VALUE
bash变量类型:
本地变量(局部变量)
环境变量
位置变量
特殊变量
本地变量
VARNAME=VALUE,作用域为整个bash进程
局部变量:
local VARNAME=VALUE,作用域为当前代码段
环境变量:作用域为当前shell进程及其子进程
export VARNAME=VALUE
脚本在执行时会启动一个子shell进程
命令行中启动的脚本会继承当前shell环境变量
系统自动执行的脚本(非命令行启动)就需要自我定义需要各环境变量
引用变量:{VARNAME},括号有时可省略。
单引号和双引号:
单引号强引用,双引号弱引用
字符串内部有变量并且想替换,那就使用双引号
例子:控制台定义变量ANIMAL=dog
echo “There are some $ANIMALs.” ,输出结果:There are some .
echo “There are some ${ANIMAL}s.” ,输出结果:There are some dogs.
echo ‘There are some ${ANIMAL}s.’ ,