Linux入门学习笔记(六)shell编程

shell编程:

编译器,解释器

编程语言:机器语言、汇编语言、高级语言

静态语言:编译型语言

        强类型(变量)

         事先转换成可执行格式

         C、C++、JAVA、C#

动态语言:解释型语言 on the fly

        弱类型

        边解释边执行

        PHP、SHELL、python、perl

面向过程: shell,C

面向对象:JAVA, python、perl,C++

变量:内存空间,命名

内存:编址的存储单元

进程:

        1+100

        1+1000000

变量类型:事先确实数据的存储格式和长度

       字符

       数值

               整型

               浮点型:11.23,1.123*10^1,0.1123*10^2

        布尔型

                真、假

shell:弱类型编辑语言

强类型:变量在使用前,必须事先声明,甚至还需要初始化;

弱类型:变量用时声明,甚至不区分类型;不声明一般为字符串

变量赋值: VAR_NAME=VALUE

bash变量类型:

       环境变量

       本地变量(局部变量)

       位置变量

       特殊变量

本地变量:

       VARNAME=VALUE:作用域为整个bash进程;

局部变量:

       local VARNAME=VALUE:作用域为当前代码段;

环境变量:

       作用域为整个bash进程及其子进程;

        export VARNAME=VALUE

       "导出"

位置变量:

       $1,$2,,,

特殊变量:

       $? : 上一个命令的执行状态返回值

程序执行结果

程序状态返回代码(0-255)

       0 :正确执行

       1-255:错误执行,1,2,127系统预留

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

        命令行中启动的脚本会继承当前shell环境变量;系统自动执行的脚本(非命令行启动)就需要自我定义需要各环境变量;

引用变量:${VARNAME}, 括号有时可省略;

       ‘’弱引用,变量不替换;“”强引用,变量替换为变量值;

        加$表示对变量值进行操作;

查看当前shell中的变量:

         set

查看当前shell中的环境变量:

        printenv

        env

        export


撤销变量:

        unset VARNAME

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

shebang:魔数

         #!/bin/bash(第一行)

         #注释行,不执行

给予执行权限:

       chmod +x

       eg: chmod +x firt.sh

去除执行权限:

       chmod -x

/del/NULL :软件设备,bit bucket,数据黑洞

编程能力:

        脚本编程

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容