后端开发必须掌握的Linux命令[变量篇]

变量相关命令

变量的声明赋值

在这里插入图片描述

功能

相当于是声明一个变量 同时给变量赋值

输入

声明方法1: 通过 赋值符号 =
在这里插入图片描述
声明方法2: 通过read

用read以后 变量赋值是通过终端等待用户的键盘输入 来执行

[dmtsai@study ~]$ read [-pt] variable
选项与参数:
-p :后面可以接提示字符!
-t :后面可以接等待的『秒数!』
实例
变量的普通赋值形式
[dmtsai@study ~]$ CHENWEIJIE=0820
让用户由键盘输入一内容,将该内容变成名为 atest 的变量
[dmtsai@study ~]$ read ates
This is a test <==此时光标会等待你输入!请输入左侧文字看看
[dmtsai@study ~]$ echo ${atest}
This is a test <==你刚刚输入的数据已经变成一个变量内
让用户由键盘输入一内容, 会有提示的字符串提示你输入 , 然后将该内容变成名为 name 的变量
kylechen@kyle:~$ read -p"请输入你的姓名:" -t 5 name
请输入你的姓名:
kylechen@kyle:~$ echo $name
chenweijie

变量的查看转换

功能

查看或转化指定的变量

输入
echo 查看指定单个变量的值 可以用用**echo PATH** 或者 **echo ${PATH}** 格式
env  查看所有环境变量
set 查看所有变量(包括用户设定的变量和环境变量,其他bash接口变量)
export  变量名=变量值 将自定义变量转化成环境变量

关于环境变量:
1.  环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录(HOME)、邮件存放位置(MAIL)等。
2.   环境变量所有终端下所有程序都可直接取用的  可以理解为 环境变量=全局变量  自定义变量=局部变量
3.   可以通过export将自定义变量设定为当前终端下的环境变量 但是也就是只能当前终端下的父子进程可以取用 其他终端不行
 4.  可以通过自定义变量的export语句添加到个人目录下的.bashrc文件中 这样当前用户的所有程序都可以使用这个环境变量
5.   可以通过将自定义变量的export语句添加到/etc/profile文件下 这样所有用户的所有程序都可以使用这个环境变量
实例
输出自定义变量myname

[dmtsai@study ~]$ echo ${myname}
 <==这里并没有任何数据~因为这个变量尚未被设定!是空的[
 dmtsai@study ~]$ myname=VBird
 [dmtsai@study ~]$ echo ${myname}
 VBird <==出现了!因为这个变量已经被设定
输出变量PATH
[dmtsai@study ~]$ echo  $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/dmtsai/.local/bin:/home/dmtsai/b
输出变量PATH
[dmtsai@study ~]$ echo  ${PATH}
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/dmtsai/.local/bin:/home/dmtsai/b
列出目前的 shell 环境下的所有环境变量与其内容。
[dmtsai@study ~]$ env
列出目前的 shell 环境下的所有变量。
[dmtsai@study ~]$ set
将自定义的变量CHENWEIJIE转换成环境变量
export CHENWEIJIE=0820 

变量的类型指定

功能

变量声明的时候指定类型

输入
$ declare [-aixr] variable

选项与参数:
-a :将后面名为 variable 的变量定义成为数组 (array) 类型
-i :将后面名为 variable 的变量定义成为整数数字 (integer) 类型
-x :用法与 export 一样,就是将后面的 variable 变成环境变量;
-r :将变量设定成为 readonly 类型,该变量不可被更改内容,也不能 unset
实例
范例一:让变量 sum 进行 100+300+50 的加总结果
[dmtsai@study ~]$ sum=100+300+5
[dmtsai@study ~]$ echo ${sum}100+300+50 <==咦!怎么没有帮我计算加总?因为这是文字型态的变量属性啊![dmtsai@study ~]$ declare -i sum=100+300+50
[dmtsai@study ~]$ echo ${sum}
450 
范例二:将 sum 变成环境变量
[dmtsai@study ~]$ declare -x sum
[dmtsai@study ~]$ export | grep sum
declare -ix sum="450" <==果然出现了!包括有 i 与 x 的宣告!

范例三:让 sum 变成只读属性,不可更动![dmtsai@study ~]$ declare -r sum
[dmtsai@study ~]$ sum=tesgtin-bash: sum: readonly variable <==老天爷~不能改这个变数了!

范例四:让 sum 变成非环境变量的自定义变量吧
[dmtsai@study ~]$ declare +x sum <== 将 - 变成 + 可以进行『取消』动作

[dmtsai@study ~]$ declare -p sum <== -p 可以单独列出变量的类型
declare -ir sum="450" <== 看吧!只剩下 i, r 的类型,不具有 x 

变量的比较判断

功能

类似test命令
利用中括号等运算符判断里面的变量是否为空
里面的变量比较是否为真等任务

输入
[ "$HOME" == "$MAIL"]  判断变量HOME和MAIL是否相同
 [ -z "${HOME}" ]  判断变量HOME是否为空
 
如上所示 中括号的使用方法与 test 几乎一模一样啊
只不过需要有以下注意点

使用注意点:

1.在中括号内的变量,最好都以双引号括号起来; 因为可能出现以下问题

在这里插入图片描述

2/在中括号内的常数,最好都以单或双引号括号
3.在中括号 [] 内的每个组件都需要有空格键来分隔;
使用中括号必须要特别注意,因为中括号用在很多地方,
包括通配符与正规表示法等等,
所以如果要在 bash 的语法当中使用中括号作为 shell 的判断式时,
必须要注意中括号的两端需要有空格符来分隔
 假设我空格键使用『□』符号来表示,那么,在这些地方你都需要有空格键:

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值