码迷,mamicode.com
首页 > 系统相关 > 详细

shell之基础概念与变量类型

时间:2015-03-11 10:29:44      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

静态语言:编译型语言 事先转换成可执行格式
强类型(变量)
关键字:
C C++ JAVA C#

动态语言:解释型语言 on the fly
弱类型
边解释边执行
Asp.net shell PHP Python perl
面向过程
面向对象

变量:内存空间,命名

变量类型:事先确定数据的存储格式和长度
字符
数值
整型
浮点型:11,23
整型:8bit 256
0-255 溢出-->缓冲区溢出

逻辑:
布尔类型:0,1
逻辑运算:与,或,非,异或
1:真
0:假

1&0=0
0&0=0
1&1=1

非:取反
!真=假
!假=真

shell :弱类型

强:变量使用前必须先声明,甚至还要初始化
弱:变量用时声明,甚至不区分类型

bash变量类型:
环境变量
本地变量(局部变量)
位置变量
特殊变量

本地变量:
set VARNAME=VALUE:作用域整个bash进程

局部变量:
local VARNAME=VALUE :作用域为当前代码段

环境变量:作用域为当前shell进程及其子进程
export VARNAME=VALUE
"导出"

脚本在执行时会启动一个子shell进程
命令行中启动的脚本会继承当前shell环境变量:
系统自动执行的脚本(非命令行启动)就需要自我定义需要各环境变量:

位置变量:
$1,$2,.....

特殊变量:
$?:上一个命令执行状态返回值:
程序执行后,可能有两类返回值
程序执行结果
程序状态返回代码(0-255)
0:正确执行
1-255:错误执行。1,2,127系统预留
输出重定向:
>
>>
2>
2>>
&>

/dev/null:软件设备 bit bucket 数据黑洞



bash
引用变量:${VARNAME} {}有时可省略


撤销变量
unset VARNAME

查看当前shell中变量:
set

查看当前shell中的环境变量:
printenv
env
export
特殊变量,位置变量没法查看




脚本:命令的堆砌,按实际需要结合命令流程控制机制实现的源程序

shebang:魔数
#!/bin/bash
#注释行,不执行

shell之基础概念与变量类型

标签:

原文地址:http://www.cnblogs.com/ylion/p/4329056.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!