编程语言:
机器语言
汇编语言
高级语言:
静态语言:编译型语言
强类型(变量)
事先转换成可执行格式
如:C、C++、JAVA、C#
动态语言:解释型语言,on the fly
弱类型
边解释边执行
如:ASP、.NET、PHP、SHELL、python、perl
面向过程:shell,C
面向对象:JAVA,Python,perl,c++
静态优点:性能好
缺点:每一次改动都需要重新编译,开发周期长,维护成本大
动态优点:便于维护,众多共享模块,开发周期短
缺点:性能相对静态差
变量:内存空间
内存:编址的存储单元
变量类型:事先确定数据的存储格式和长度
字符
数值
整型
浮点型:
逻辑运算:与、或、非、异或
1:真
0:假
与:只有2者同为真(1)才真,否则为假(0)
或:其中一个为真(1)即为真,否则为假(0)
非:!真=假,!假=真
shell:弱类型编程语言
强类型:变量在使用前必须事先声明,甚至还需要初始化:NULL(空)
弱类型:变量用时声明,甚至不区分类型
bash变量类型
环境变量
export VARNAME=VALUE 作用域为当前shell进程及其子进程
脚本在执行时会启动一个子shell进程:
命令行中启动的脚本会继承当前shell环境变量
系统自动执行的脚本(非命令行启动)就需要自我定义需要个环境变量
本地变量(局部变量)
本地变量:VARNAME=VALUE 作用域为整个bash进程
局部变量:local VARNAME=VALUE 作用域为当前代码段
位置变量
特殊变量
$?:上一个命令的执行状态返回值
程序执行可能有两类返回值:
程序执行结果
程序状态返回代码(0-255)
0:正确执行
1-255:错误执行。1、2、127系统预留
引用变量:${VARNAME} 括号有时候可省略
撤销变量:unset VARNAME
查看当前shell中的变量:set
查看当前shell中的环境变量:env、export、printenv
转载于:https://blog.51cto.com/ngames/1543346