2.2.2 普通变量
学习目标
这一节,我们从 基础知识、简单实践、小结 三个方面来学习。
基础知识
变量分类
所谓的本地变量就是:在当前系统的某个环境下才能生效的变量,作用范围小。本地变量按照变量值的生成方式包含两种:
普通变量:
自定义变量名和变量值
命令变量:
自定义变量名,而变量值是通过一条命令获取的
基本格式
序号 | 样式 | 要点 |
---|---|---|
方式一 | 变量名=变量值 | 变量值必须是一个整体,中间没有特殊字符 “=” 前后不能有空格 |
方式二 | 变量名=‘变量值’ | 原字符输出,我看到的内容,我就输出什么内容, |
方式三 | 变量名=“变量值” | 如果变量值范围内,有可以解析的变量A,那么首先解析变量A, 将A的结果和其他内容组合成一个整体,重新赋值给变量B |
习惯:
数字不加引号,其他默认加双引号
因为bash属于弱类型语言,默认会将所有内容当成字符串
变量定义
查看默认的空值变量
[root@localhost ~]# echo $name
方法1设定变量
[root@localhost ~]# name=shuji
[root@localhost ~]# echo $name
shuji
方法2设定变量
[root@localhost ~]# name='shuji1'
[root@localhost ~]# echo $name
shuji1
方法3设定变量
[root@localhost ~]# name="shuji2"
[root@localhost ~]# echo $name
shuji2
清理变量
[root@localhost ~]# unset name
作用区别演示
查看默认的空值变量
[root@localhost ~]# echo $name2
方法1设定变量的要点,变量值必须是一个整体
[root@localhost ~]# name2=shuji haoshuai
bash: haoshuai: 未找到命令
[root@localhost ~]# echo $name2
原因解析:
空格是一个特殊符号,表示两条命令的隔开
它将shuji 和 haoshuai当成两条命令了,所以报错信息是命令找不到
方法2设定变量
[root@localhost ~]# name2='shuji haoshuai'
[root@localhost ~]# echo $name2
shuji haoshuai
方法3设定变量
[root@localhost ~]# name2="shuji haoweiwu"
[root@localhost ~]# echo $name2
haoweiwu
清理变量
[root@localhost ~]# unset name2
定制基础变量
[root@localhost ~]# name=shuji
[root@localhost ~]# echo $name
shuji
方法2设定变量
[root@localhost ~]# name2='dan-$name'
[root@localhost ~]# echo $name2
dan-$name
方法3设定变量
[root@localhost ~]# name2="shuang-$name"
[root@localhost ~]# echo $name2
shuang-shuji
小结