首页 > 代码库 > 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编程(一)