编程语言:机器语言,汇编语言,高级语言
一 动态语言与静态语言
静态语言:编译型语言
强类型(变量):变量在使用前,必须事先声明,甚至还需要初始化。
事先转换成可执行格式
C,C++,JAVA,C#
动态语言:解释型语言
弱类型:变量用时声明,甚至不区分类型。
不区分类型:默认为字符串。
PHP,SHELL,python,perl
变量赋值:VAR_NAME=VALUE
引用变量:${VARNAME}
括号有时可以省略
example:"There are some $(ANIMAL)s."
双引号为强引用,内部有变量需要替换则需要用强引用。
面向过程:shell,C
面向对象:JAVA,Python,perl,C++
二 一些概念
变量:内存空间,命名
变量类型:事先确定数据的存储格式和长度
1. 字符
2. 数值
(1) 整型
(2) 浮点型
内存:编址的存储单元
进程:
三 逻辑运算:与,或,非,异或
短路逻辑运算
与:只要有一个为假,结果一定为假
或:只要一个为真,结果一定为真
四 变量
本地变量:
VARNAME=VALUE;作用域为整个bash进程;
局部变量:
local VARNAME=VALUE;作用域为当前代码段
环境变量:
作用域为当前shell进程及其子进程
export VARNAME=VALUE
“导出”=定义环境变量
脚本在执行时会启动一个子shell进程
(1)命令行中启动的脚本会继承当前shell环境变量
(2)系统自动执行的脚本(非命令行启动)就需要自我定义需要各环境变量
1.可以先定义本地变量再导出
NAME=jerry
export NAME
2.可以一步导出定位
export NAME=jerry
位置变量
2,...
特殊变量
$?:上一个命令的执行状态返回值
程序执行,可能有两类返回值:
程序状态返回代码(0-255)
echo $?
0:正确执行
1-255:错误执行
1,2,127系统预留
/dev/null:软件设备,bit bucket,数据黑洞
变量操作
撤销变量:
unset VARNAME
查看当前shell中变量:
set
查看当前shell中的环境变量
printenv
env
export
变量追加:
ANIMALS=pig
ANIMALS=$ANIMALS:goat
脚本:命令的堆砌,按实际需要,结合命令流程控制机制实现的源程序。
shebang:魔数
!/bin/bash
注释行,不执行
执行脚本
bash first.sh
网友评论