Teng's blog Teng's blog
首页
Java
H5前端
GitHub (opens new window)
首页
Java
H5前端
GitHub (opens new window)
  • 介绍

  • 安装

  • 基础

  • shell

    • 介绍
    • 入门
    • 系统变量
    • 自定义变量
      • 基本语法
      • 变量定义规则
      • 变量值中的空格
      • 将命令的返回值赋值给变量
        • 方式1
        • 方式2
    • 环境变量
    • 位置参数变量
    • 预定义变量
    • 运算符
    • 条件判断
    • 流程控制
    • 读取控制台输入
    • 系统函数-路径文件名
    • 自定义函数
    • 工具
    • 数据库备份案例
  • 面试与总结
  • System-Linux
  • shell
Shetengteng
2022-03-13

自定义变量

# 基本语法

定义语法

  • 变量=值

撤销变量

  • unset 变量

声明静态变量;声明只读变量

  • readonly 变量
  • 注意:不能unset

应用实例

  • 定义变量A,撤销变量A
A=100
echo "A=$A"
unset A

echo "A=$A"
# 此时打印为空
1
2
3
4
5
6
  • 声明静态变量 B=2
    • 静态变量不能unset
    • 静态变量不能修改为其他值
    • 一般很少使用 readonly
readonly B=2
echo "B=$B"
unset B 
-bash: unset: B: cannot unset: readonly variable

B=5
-bash: B: readonly variable

echo "B=$B"
1
2
3
4
5
6
7
8
9

# 变量定义规则

变量名称可以由字母,数字,下划线组成,不能使用数字开头

变量名称一般大写

等号两侧不能有空格

应用实例

  • 如果有空格
[root@hadoop100 test01]# A = 6
-bash: A: command not found
1
2

# 变量值中的空格

在bash中,变量的默认类型都是字符串类型,无法直接进行数值运算

变量的值如果有空格,需要使用双引号或单引号括起来

  • 单引号:字符串中的所有字符进行转义(包括特殊字符)
  • 双引号:不会对字符串的内容进行转义

示例:关于shell中的值都是字符串,如果使用+,没有数值运算符的效果,整个C是一个字符串值

[root@hadoop100 test01]# A=5
[root@hadoop100 test01]# C=$A+3
[root@hadoop100 test01]# echo $C
5+3
1
2
3
4

示例:值含空格的变量,必须使用单引号或双引号括起来

[root@hadoop100 test01]# A="I am a variable"
[root@hadoop100 test01]# echo $A
I am a variable
1
2
3

示例:单双引号的区别,!在shell中有特殊含义,是特殊字符

[root@hadoop100 test01]# A="this is !"
-bash: !": event not found

# 需要使用单引号
[root@hadoop100 test01]# A='this is !'
[root@hadoop100 test01]# echo $A
this is !
1
2
3
4
5
6
7

也可使用${x}的方式调用

# 将命令的返回值赋值给变量

# 方式1

反引号

# 运行 ls -la命令,并将返回的结果赋值给A
A=`ls -la`
1
2

# 方式2

使用$()

# 等价于反引号
A=$(ls -la)
1
2

示例

  • 对于单个变量,可以使用(),也可以省略
MY_DATA=$(date)
echo "data=$MY_DATA"
1
2
Last Updated: 2022/03/20, 10:04:55
系统变量
环境变量

← 系统变量 环境变量→

Theme by Vdoing | Copyright © 2021-2022 Shetengteng | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式