[000-01-001].第04节:Shell变量-自定义变量

我的后端学习大纲

我的Linux学习大纲


1、自定义变量:

1.1.自定义变量分类

自定义变量就是:自己定义的变量,可将其分为三类:

  • 1.自定义局部变量
  • 2.自定义常量
  • 3.自定义全局变量

2.自定义局部变量

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


2.1.新建:

a.语法:

var_name=value

b.演示:

在这里插入图片描述

变量定义规则:

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

2.2.查询:

查询查的是自定义局部变量的值


a.语法

# 语法1: 直接使用变量名查询
$var_name

# 语法2: 使用花括号(推荐方式)
${var_name}

区别: 花括号方式适合拼接字符串

b.演示:

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

结论: 使用花括号才是编程好习惯


2.3.删除:

删除删掉的是自定义局部变量


a.语法:

unset var_name

b.演示:

在这里插入图片描述


2、自定义常量

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

2.1.新建:

a.语法:

readonly var_name

b.演示:

在这里插入图片描述


3、自定义全局变量

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

2.父子Shell环境介绍:例如有2个Shell脚本文件 A.sh 和 B.sh;如果 在A.sh脚本文件中执行了B.sh脚本文件, 那么A.sh就是父Shell环境, B.sh就是子Shell环境


3.2.新建:

a.语法:

export var_name1 var_name2

b.演示:

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


  • 1.创建2个脚本文件 demo2.sh 和 demo3.sh
    在这里插入图片描述
  • 2.编辑demo2.sh:vim demo2.sh,里面定义里面定义变量VAR4并设置为全局, 并里面执行demo3.sh脚本文件
    在这里插入图片描述
  • 3.编辑demo3.sh:vim demo3.sh, 里面打印VAR4
    在这里插入图片描述
  • 4.执行脚本文件demo2.sh, 观察打印VAR4效果
    在这里插入图片描述
  • 5.执行脚本文件后, 在交互式Shell环境打印VAR4是不能使用的, 如下观察打印VAR4效果
    在这里插入图片描述

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

  • 15
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值