Shell(变量与环境变量) 01

与其他编程语言一样,shell 脚本中也提供了变量,而且还有自己的一些特殊定义和使用方法。

1.定义 shell 变量

1.本地变量

[root@localhost ~]# a=1
[root@localhost ~]# echo $a
1
[root@localhost ~]# 

需要注意等号两边不能有空格

[root@localhost ~]# b = 5
bash: b: 未找到命令...
[root@localhost ~]# 

2.只读变量

变量只能读不能写

[root@localhost ~]# readonly myvar=1
[root@localhost ~]# myvar=2
bash: myvar: 只读变量
[root@localhost ~]# 

3.声明变量

在Linux中给变量赋值时,将该变量默认为是字符或字符串,如果两个变量用“+”操作,则会被解释成字符串的连接操作。

[root@localhost ~]# a=123
[root@localhost ~]# b=456
[root@localhost ~]# c=$a+$b
[root@localhost ~]# echo $c
123+456
[root@localhost ~]# 

使用变量前声明这个变量

参数项 说明
-a 将变量声明为数组
-i 将变量声明为整型
-r 将变量声明为只读
[root@localhost ~]# a=123
[root@localhost ~]# b=456
[root@localhost ~]# declare -i c
[root@localhost ~]# c=$a+$b
[root@localhost ~]# echo $c
579
[root@localhost ~]# 

2.访问 shell 变量

[root@localhost ~]# a=5
[root@localhost ~]# echo $a_

[root@localhost ~]# echo ${a}_
5_
[root@localhost ~]# 

1.用 echo 命令显示 shell 变量

参数 说明
不加参数,打印完内容转换到下一行
-n 打印完内容后不转换到下一行
-e 打印内容,并把内容中的转义字符转义显示

2.显示所有的本地 shell 变量

[root@localhost ~]# set
...
...
HISTFILE=/root/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HOME=/root
HOSTNAME=localhost.localdomain
HOSTTYPE=x86_64
ID=0
IFS=$' \t\n'
IMSETTINGS_INTEGRATE_DESKTOP=yes
IMSETTINGS_MODULE=IBus
LANG=zh_CN.UTF-8
...
...

3.从键盘读入

[root@localhost ~]# read a
521
[root@localhost ~]# echo $a
521
[root@localhost ~]# 

read 后面不仅可以跟一个变量,也可以跟多个变量或不跟变量

[root@localhost ~]# read a b
521 1314
[root@localhost ~]# echo $a
521
[root@localhost ~]# echo $b
1314
[root@localhost ~]# read a b
123 456 789
[root@localhost ~]# echo $a
123
[root@localhost ~]# echo $b
456 789
[root@localhost ~]# 

[root@localhost ~]# read
Hello World
[root@localhost ~]# echo $REPLY
Hello World
[root@localhost ~]# 

参数 说明
-a -a后面跟数组变量名,随后输入的内容都存放到各数组元素中
-p 在为变量赋值之前,先显示-p后的提示字符串
[root@localhost ~]# read -a array
10 9 8 7
[root@localhost ~]# echo ${array[0]}
10
[root@localhost ~]# echo ${array[2]}
8
[root@localhost ~]# 

[root@localhost ~]# read -p"请输入您的电话号码:" yournumber
请输入您的电话号码:10086
[root@localhost ~]# echo $yournumber
10086
[root@localhost ~]# 

4.把变量当成整型

第一种方法
用双圆括号将变量名或运算表达式括起来

[root@localhost ~]# a=1
[root@localhost ~]# echo $a
1
[root@localhost ~]# a=$(($a+1))
[root@localhost ~]# echo $a
2
[root@localhost ~]# 

第二种方法
用一对方括号将运算表达式括起来

[root@localhost ~]# c=1
[root@localhost ~]# echo $c
1
[root@localhost ~]# c=$[c+5]
[root@localhost ~]# echo $c
6
[root@localhost ~]# 

3.清除 shell 变量

[root@localhost ~]# a=1
[root@localhost ~]# echo $a
1
[root@localhost ~]# unset a
[root@localhost ~]# echo $a

[root@localhost ~]# 

猜你喜欢

转载自blog.csdn.net/weixin_46322367/article/details/115313282