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 ~]# 

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据攻城小狮子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值