在Linux学习过程中,我们无可避免的会碰到一个既让人喜欢,又令人头疼的神奇的东西——bash编程,即shell脚本。那么什么是shell脚本呢?shell是一个命令语言解释器,而shell脚本则是Linux命令的集合,按照预设的顺序依次解释执行,来完成特定的、较复杂的系统管理任务,类似于Windows中的批处理文件。本文带来的是bash编程的基础语法讲解。
bash编程之变量
bash变量类别
本地变量:只对当前shell进程有效的变量,对其它shell进程无效,包当前shell进程的子进程
- VAR_NAME=VALUE
变量赋值:向变量的存储空间保存数据
变量引用:${VAR_NAME}
- "":弱引用,里面的变量会被替换
- '':强引用,里面的所有字符都是字面量,直接输出
环境变量:对当前shell进程及其子shell有效,对其它的shell进程无效
- 定义:export VAR_NAME=VALUE
- 导出:export VAR_NAME
- 撤消变量:unset VAR_NAME
- 只读变量:readonly VAR_NAME
局部变量: 对shell脚本中某代码片断有效,通常用于函数本地
- local VAR_NAME=VALUE
位置变量:用来接受变量指定位置的参数
- $1,$2…,${10}
特殊变量:shell对一些参数做特殊处理,这些参数只能被引用而不能被赋值
- $# 传递到脚本的参数个数
- $* 显示所有向脚本传递的参数 #与位置变量不同,此选项参数可超过9个
- $$ 获取当前shell的进程号
- $! 执行上一个指令的进程号
- $? 获取执行的上一个指令的返回值 #0为执行成功,非零为执行失败
- $- 显示shell使用的当前选项,与set命令功能相同
- $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数
查看变量:
- set:查看当前shell进程中的所有变量
- export, printenv, env:查看当前shell进程中的所有环境变量
变量命名:
- 1、不能使用程序中的关键字(保留字)
- 2、只能使用数字、字母和下划线,且不能以数字开头
- 3、要见名知义
变量类型:
- 数值型:精确数值(整数),近似数值(浮点型)
- 字符型:char,string
- 布尔型:true, false
类型转换: