失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Shell脚本入门:环境变量和自定义变量

Shell脚本入门:环境变量和自定义变量

时间:2021-08-22 00:35:52

相关推荐

Shell脚本入门:环境变量和自定义变量

文章目录

Shell变量:环境变量目标Shell变量的介绍变量类型系统环境变量介绍Shell的配置文件分类环境变量分类查看当前Shell系统环境变量查看Shell变量(系统环境变量+自定义变量+函数)常用系统环境变量 小结 Shell变量:自定义变量目标自定义变量介绍分类自定义局部变量介绍定义与使用变量删除 自定义常量自定义全局变量父子Shell环境介绍自定义全局变量介绍自定义全局变量语法案例需求案例实现步骤案例演示结论 小结

Shell变量:环境变量

目标

1、理解什么是系统环境变量?

2、掌握常用的系统环境变量都有哪些?

Shell变量的介绍

变量用于存储管理临时的数据, 这些数据都是在运行内存中的.

变量类型

系统环境变量自定义变量特殊符号变量

系统环境变量

介绍

是系统提供的共享变量.是linux系统加载Shell的配置文件中定义的变量共享给所有的Shell程序使用

Shell的配置文件分类

1.全局配置文件

/etc/profile

/etc/profile.d/*.sh

/etc/bashrc

2.个人配置文件

当前用户/.bash_profile

当前用户/.bashrc

一般情况下,我们都是直接针对全局配置进行操作。

环境变量分类

在Linux系统中,环境变量按照其作用范围不同大致可以分为系统级环境变量和用户级环境变量。

系统级环境变量:Shell环境加载全局配置文件中的变量共享给所有用户所有Shell程序使用, 全局共享

用户级环境变量:Shell环境加载个人配置文件中的变量共享给当前用户的Shell程序使用, 登录用户使用

查看当前Shell系统环境变量

查看命令

env

效果

查看Shell变量(系统环境变量+自定义变量+函数)

命令

set

效果

常用系统环境变量

环境变量输出演示

小结

1.系统环境变量是什么?

是系统提供的环境变量, 通过加载Shell配置文件中变量数据共享给Shell程序使用

2.环境变量的分类?

系统级环境变量, Shell环境加载全局配置文件中定义的变量

用户级环境变量, Shell环境加载个人配置文件中定义的变量

3.env与set区别

env用于查看系统环境变量

set用于查看系统环境变量+自定义变量+函数

4.常用环境变量

Shell变量:自定义变量

目标

理解自定义变量的分类

能够自定义变量进行增\删\改\查

自定义变量介绍

就是自己定义的变量

分类

自定义局部变量自定义常量自定义全局变量

自定义局部变量

介绍

就是定义在一个脚本文件中的变量, 只能在这个脚本文件中使用的变量, 就是局部变量

定义与使用

定义语法

var_name=value

变量定义规则

变量名称可以有字母,数字和下划线组成, 但是不能以数字开头等号两侧不能有空格在bash环境中, 变量的默认类型都是字符串类型, 无法直接进行数值运算变量的值如果有空格, 必须使用双引号括起来不能使用Shell的关键字作为变量名称

演示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zwDJqckT-1603553192500)(assets/image-170754770.png)]

查询变量值语法

# 语法1: 直接使用变量名查询$var_name# 语法2: 使用花括号${var_name}# 区别: 花括号方式适合拼接字符串

演示

注意: 如果"My name is ${var2}Style"$var2不带花括号, 系统会认为获取$var2Style变量数据, 这个变量不存在就获取不到数据,执行效果如下

结论: 推荐大家使用花括号才是编程好习惯

变量删除

语法

unset var_name

演示

自定义常量

介绍

就是变量设置值以后不可以修改的变量叫常量, 也叫只读变量

语法

readonly var_name

演示

自定义常量

自定义全局变量

父子Shell环境介绍

例如: 有2个Shell脚本文件 A.sh 和 B.sh

如果 在A.sh脚本文件中执行了B.sh脚本文件, 那么A.sh就是父Shell环境, B.sh就是子Shell环境

自定义全局变量介绍

就是在当前脚本文件中定义全局变量, 这个全局变量可以在当前Shell环境与子Shell环境中都可以使用

自定义全局变量语法

export var_name1 var_name2

案例需求

测试全局变量在子Shell中是否可用, 在父Shell中是否可用

案例实现步骤

创建2个脚本文件 demo2.sh 和 demo3.sh

编辑demo2.sh

命令1:定义全局变量VAR4

命令2: 执行demo3.sh脚本文件

编辑demo3.sh

输出全局变量VAR4

执行demo2.sh脚本文件

案例演示

创建demo2.sh和demo3.sh文件

编辑demo2.sh, 里面定义变量VAR4并设置为全局, 并里面执行demo3.sh脚本文件

vim demo2.sh

3. 编辑demo3.sh, 里面打印VAR4

vim demo3.sh

4. 执行脚本文件demo2.sh, 观察打印VAR4效果

5. 执行脚本文件后, 在交互式Shell环境打印VAR4, 观察打印VAR4效果

结论

全局变量在当前Shell环境与子Shell环境中可用, 父Shell环境中不可用

小结

自定义变量的分类

自定义局部变量: 就是在一个脚本文件内部使用var_name=value

自定义常量: 不可以修改值的变量,readonly var_name

自定义全局变量: 设置变量在当前脚本文件中与子Shell环境可以使用的变量,export var_name

自定义变量进行增\删\改\查

定义和修改:var_name=value

查询:${var_name} 或 $var_name

删除:unset var_name

如果觉得《Shell脚本入门:环境变量和自定义变量》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。