linux for 2个变量,Linux Shell编程(2) - Bash 变量

一、简介与分类

1. Bash 变量的命名规则

变量名只能包含字母、数字、下划线

变量名不能以数字作为开头

变量名区分大小写

变量名长度不超过255个字符

变量名在有效范围内必须唯一

2. 变量按照存储的数据类型分类

在Bash中,变量的默认类型都是字符串型

字符串型

整型

浮点型

日期型

3. 变量的分类

用户自定义变量

用户自己定义的变量名

环境变量

环境变量主要保存的是和系统操作环境相关的数据。

变量可以自定义,但是对系统生效的环境变量名和变量作用是固定的。

位置参数变量

位置参数变量主要是用来向脚本当中传递参数或数据的。

变量名不能自定义,变量作用是固定的。

预定义变量

预定义变量是 bash 中已经定义好的便令。

变量名不能自定义,变量作用是固定的。

二、用户自定义变量

1. 定义变量

语法

变量名="变量值"

说明

等号两边不能有空格

当变量值中间有空格时,要用引号包裹变量值

变量的默认类型都是字符串型

变量只在当前的 bash 中生效

实例

[root~]# age=18

[root~]# name="zhang san"

2. 变量调用

语法

$变量名

说明

调用变量需要在变量名前加 $

变量的默认类型都是字符串型,所以无法直接做 +, - 等运算操作

赋值时引用变量,可使用 "$变量名" 或 ${变量名}

赋值时引用变量,若要在值两边使用引号,则必须使用双引号,若使用单引号,则单引号内的变量不会转换成变量值

实例

调用变量需要在变量名前加 $

[root~]# echo $name

zhang san

变量的默认类型都是字符串型,所以无法直接做 +, - 等运算操作

[root~]# x=1

[root~]# y=2

[root~]# z=$x+$y

[root~]# echo $z

1+2

赋值时引用变量,可使用 "$变量名" 或 ${变量名}

[root~]# a=hel

[root~]# b="$a"lo

[root~]# echo $b

hello

当变量值中间有空格时,要用引号包裹。赋值时引用变量,必须使用双引号

[root~]# c="${b} world"

[root~]# echo $c

hello world

赋值时引用变量,若使用单引号,则单引号内的变量不会转换成变量值

[root~]# d='${b} world'

[root~]# echo $d

${b} world

3. 变量叠加

实例

[root~]$x=123

[root~]$echo $x

123

[root~]$x=${x}456

[root~]$echo $x

123456

[root~]$x="$x"789

[root~]$echo $x

123456789

4. 变量查看

语法

set [选项]

选项

-u:如果设定此项,调用未声明的变量时会报错(默认无任何提示)

实例

m 赋值为空字符串,n 未定义。默认情况下,echo $m 和 $n,都没有任何提示

[root~]# m=''

[root~]# echo m

m

[root~]# echo $m

[root~]# echo $n

set -u 后,echo $n 会报错

[root~]# set

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值