2019-12-08bash脚本编程之一——变量,变量类型

编程语言分类

  1. 第一种
    ①机器语言
    ②汇编语言
    ③高级语言

  2. 第二种
    ①静态语言(编译型语言)
    强类型(变量再使用前,必须事先声明,甚至还需要初始化)
    需要事先将代码全部用编译器编译成可执行格式
    例如:C,C#,C++,java
    ②动态语言(解释型语言)
    弱类型(变量用时声明,甚至不区分类型)
    边用解释器解释边执行
    例如:python,PHP,SHELL,perl,javaScript

  3. 第三种
    ①面向过程
    例如:C,shell
    ②面向对象
    例如:java,python,perl,C++

变量

进程,内存,变量的关系
  • 程序被执行变为进程,进程的数据在内存中,内存是有编址的存储单元,变量是被命名的内存空间。通过映射表,通过变量名就可以找到该内存地址,进而找到内存中存放的数据。
变量类型
  • 分类
  1. 字符
  2. 数值
    ①整型
    ②浮点型

3.逻辑类型

  • 作用:用来事先定义数据的存储格式和长度

⭐bash编程

bash的变量类型

  1. 环境变量
  • 作用域为当前bash进程及其子bash进程
    声明形式为:export VARNAME = VALUE
  1. 本地变量(局部变量)
  • 本地变量:在当前bash进程中有效的变量(作用区域为当前bash进程)
    声明形式为:VARNAME = VALUE
  • 局部变量:作用域为当前代码段
    声明形式为:local VARNAME = VALUE
  1. 位置变量
  • 符号:$1,$2,...
    ./ 脚本名 参数1 参数2——在执行脚本时要传入参数
    ②在脚本中出现$1代表引用传入的第一个参数。
  • shift :踢出前几个参数
    shift :踢出1个
    shift 2:替出2个
  1. 特殊变量
  • $?:上一个命令的执行状态返回值
    ①程序执行时可能有两类返回值
    0:正确执行
    1-255:错误执行,1,2,127系统预留的
  • $#:参数的个数
  • $*:参数列表
  • $@:参数列表

bash的变量的操作

  1. 变量赋值:VARNAME = VALUE(VALUE之间可以用”:“隔开)默认所有的值都是字符串
    变量的值默认为字符串不进行运算.JPG
  • 变量名称:
    ①只能包含字母,数字和下划线,并且不能以数字开头。
    ②不应该跟系统中已有的环境变量重名。
  1. 引用变量(变量替换) :$(VARNAME)
    bash支持的引号
``——命令替换
""——弱引用,可以实现变量替换
''—— 强引用,不完成变量替换
  1. 撤销变量:unset VARNAME
  2. 查看当前shell中的变量:set(包括环境变量和本地变量)
  3. 查看当前shell中的环境变量:printenv,env,export

注意

使用变量赋值或变量运算时,运算符与数字或参数之间不能有空格

脚本

  • 概念:命令的堆砌,按实际需要,结合命令流程控制机制实现的程序。
  • 创建:nano 脚本名.sh
  • 格式
    ①第一行:shebang(魔数)#!/bin/bash(解释器路径)
    ②注释行:以#开头的行,不执行
  • 添加可执行权限:chmod +x 脚本名.sh
  • 执行:./脚本名.sh
  • 注意
    脚本执行时会启动一个子shell进程
    ①命令行中启动的脚本会继承当前shell环境变量
    ②系统自动执行的脚本(非命令行启动)就需要自我定义所需要的各种环境变量
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。