二.Shell脚本编程

二、Shell脚本语言的变量用法详解
2.1 变量
变量表示命名的内存空间,将数据放在内存空间中,通过变量名引用,获取数据

2.2 变量类型
变量类型:

内置变量:如PS1,PATH,UID,HOSTNAME,HISTSIZE

用户自定义变量

预定义变量

位置变量

不同的变量存放的数据不同,决定了以下:

数据存储方式

参与的计算

表示的数据范围

变量数据类型:

字符串

数值:整型,浮点型(小数)、bash不支持浮点数

2.3 Shell中变量命名法则
不能使用程序中的保留字,如:if,for

只能使用数字,字母及下划线,且不能以数字开头

见名思意,用英文名字,并体现真正含义

统一命名规则:驼峰命名法

变量名大写

局部变量小写

函数名小写

2.4 变量定义和引用
变量的生效范围(变量作用域)

普通变量:生效范围为当前shell进程;对当前shell之外的其他shell进程,包括当前shell的子shell进程均无效

环境变量:生效范围为当前shell进程及其子进程

本地变量:生效范围为当前shell进程中某代码片段,通常指函数

变量赋值:

注意:变量赋值是临时生效,当退出终端后,变量会自动删除,无法持久保存。

变量引用:

2.5 环境变量
环境变量:

可以使子进程(包括孙子进程)继承父进程的变量,但是无法让父进程使用子进程的变量。

一旦子进程修改了从父进程继承的变量,将会传递新的值给孙子进程

一般只在配置文件中使用,在脚本中较少使用

课程引入:普通变量生效的范围与环境变量生效的范围

实例

1.声明整数型变量

2.10.2 set命令实现脚本安全
-u:在扩展一个没有设置的变量时,显示错误信息,等同于set -o nounset

-e:如果一个命令返回一个非0退出的状态值(失败)就退出,等同于set -o errexit

-o:option 显示,打开或关闭选项

显示选项:set -o

打开选项:set -o 选项

关闭选项:set +o 选项

-x:当执行命令时,打印命令及其参数,类似bash -x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值