天天看点

shell编程变量及变量类型

编程语言:包括机器语言、汇编语言、{高级语言[静态语言(编译型语言,一般为强类型变量,需要发布为可执行程序,C、C++、Java,C#)和动态语言(解释型语言,一般为弱类型语言,不需要发布为可执行程序,是一边执行一边解释,Asp,asp.net,php,shell,python、perl)]}

面向对象:解决对象之间的动作,主要适合开发大型程序java,python,c++,perl

面向过程:主要解决过程,主要适合开发小型程序shell,c

变量:是内存空间,是命名的内存空间,存储数据的存储格式和长度、计算机的最小存储单位为字节

内存:是编址的存储空间

进程:程序运行后叫进程

逻辑运算:与、或、非、异或(短路逻辑运算)

真 & 假 = 假

假 & 真 = 假

假 & 假 = 假

真 & 真 = 真

与运算时只有两者为真是为真,否则为假 ,相当于串联电路,只要有一个为假,结果一定为假

真 | 假 = 真

假 | 真 = 真

假 | 假 = 假

真 | 真 = 真

或运算时只要有一者为真则为真,相当于并联电路,只要有一个为真,则结果一定为真

!真=假

!假=真

非为单目运算,即取反运算,相当于电磁感应

异或运算操作数相同则为假,否则为我真

编译型语言没有额外的处理逻辑所以是强类型的,脚本型语言可以有解释器控制,可以是弱类型

强类型编程语言:变量在使用前必须事先声明,甚至还需要初始化,没有初始化的变量保存的是随机数

弱类型编程语言:变量是在用时声明,甚至不区分类型,隐式转换,显式转换

变量赋值:变量=值

bash变量类型

    环境变量,export 变量=值,作用域为当前shell及其子进程

    本地变量,变量=值,变量一定是进程的变量,作用域为整个bash进程

    (局部变量),local 变量=值,作用域为当前代码段

    位置变量,如后向引用 引用$1,$2...

    特殊变量,bash内置的,又称系统变量,保存某些特殊数据的,如$?(保存上一命令执行状态返回值)

引用变量:${varname},有时{}号可以省略

脚本在执行时,会启动一个子shell进程

    命令行中启动的脚本会继承当前shell环境变量

    系统自动执行的脚本(不含命令行)需要自我定义所需的环境变量

程序执行后,一般有两种返回值:

    1、执行结果返回值

    2、执行状态返回值

输出重定向

>:覆盖重定向

>>:追加重定向

2>:错误重定向

2>>错误追加重定向

&>:同时(正确、错误)重定向

/dev/null,软件模拟设备

/dev/zero

撤消变量:unset 变量名

查看当前shell中的变量:使用set,包括环境变量和本地变量,

查看当前shell的环境变量:使用printenv,env或export

弱类型的变量类型默认为字符型

GB-2312