首页 > 代码库 > linux-shell编程(一)
linux-shell编程(一)
shell编程 脚本编程
编译器,解释器
编程语言:机器语言,汇编语言,高级语言
静态语言:编译型语言
强类型(变量)
事先转换成可执行格式
C ,C++ ,JAVA , C#
动态语言 : 解释型语言, on the fly
弱类型
边解释边执行
PHP, SHELL ,python, perl
面向过程 : shell, c
面向对象 : JAVA, Python,perl, c++
变量 : 内存空间,命名
内存: 编址的存储单元
进程:
1 + 100:
变量类型: 事先确定数据的存储格式和长度
字符
数值
整型
浮点型:11.23 1.123*10^1 , 0.1123*10^2
shell : 弱类型编程语言
强 : 变量在使用前,必须事先声明,甚至还需要初始化;
弱 : 变量用时声明, 甚至不区分类型;
变量赋值: VAR_NAME = VALUE
bash变量类型:
环境变量
本地变量(局部变量)
位置变量
特殊变量
本地变量:
set VARNAME = VALUE : 作用域为整个bash进程
局部变量
local VARNAME=VALUE: 作用域为当前代码段
环境变量: 作用域为当前shell进程及其子进程
export VARNAME=VALUE
VARNAME=VALUE
export VARNAME
"导出"
位置变量:
$1, $2,...
特殊变量
$? : 上一个命令的执行状态返回值
程序执行.可能有两类返回值:
程序执行结果
程序状态返回代码 (0-255)
0 : 正确执行
1-255 : 错误执行,1, 2, 127系统预留;
脚本在执行时会启动一个子shell进程
命令行中启动的脚本会继承当前shell的环境变量
系统自动执行的脚本(非命令行)就需要自我定义需要的各环境变量
引用变量
${VARNAME}: 括号可以省略
输出重定向 :
>
>>
2>
&>
/dev/null : 软件设备 bit bucket 数据黑洞
linux-shell编程(一)