Linux变量的定义、赋值、查看、删除(export、echo、unset)

一、变量

  • 概念:变量就是一个字符串,可以指向一个内容,该内容可以是路径、命令、数字、字符串等...
  • 变量的分类:
    • 环境变量:或者叫做全局变量
    • 自定义变量:或者叫做局部变量

二、变量的定义与赋值

  • 定义:直接使用变量名指向一个内容,该变量就即时创建/赋值:变量名=变量所指内容

  • 提示:
    • 通常大写字符的变量为系统默认变量,自行设置的变量建议使用小写字符(根据自己的喜好与设定)
    • 变量名称只能是英文字母和数字的组合,且不能以数字开头

注意事项

  • ①等号两边不能有空格。例如下面是一个错误演示案例
myname = dong

  • ②变量的内容有空格时,使用双引号或者单引号括起来
  • ③变量所指的内容使用""(双引号)括起来,双引号内的特殊字符如&等,可以保持原有的特性。下面是一个演示案例:$LANG内容为en_US.UTF-8,则var="lang is $LANG" 等价于 var="lang is en_US.UTF-8"

  • ④变量所指的内容使用''(单引号)括起来,单引号内的特殊字符仅为一般字符(纯文本)。下面是一个演示案例:var='lang is $LANG' 就是 var='lang is $LANG',并没有替换

  • ⑤可以使用\转义字符将特殊字符(ENTER、$、空格、'、\等)变为一般字符,类似于C语言。下面是一个演示案例:var=lang\\dong等价于var=lang\dong。\\转义为一个\

演示案例(双引号与单引号案例)

  • 单引号与双引号配对问题要注意
  • 正确案例(双引号配对):
myname="dong's name"

  • 错误案例(单引号不配对):按ctrl+c结束
myname='dong's name'

  • 错误案例:myname=dong's name回车之后,系统还会让你一直输入内容,因为前面个单引号找不到配对的单引号,此时可以按ctrl+c结束

演示案例

  • 设置一个变量内容为路径,并使用
work="/home/dongshao/Desktop/"

cd ${work} ==>相当于cd /home/dongshao/Desktop/

三、数组变量类型的定义

  • 公式:数组名[索引]=内容
  • 注意事项:索引为数字,自己决定,可以随意取,但建议有顺序

使用案例

  • 逐个赋值,然后echo查看

  • 删除数组,然后再查看为空

四、环境变量的定义与设置(export)

  • 概念:
    • 使用export可以使该变量成为环境变量,使变量在子进程下也可以执行
    • 普通变量类似于局部变量。环境变量类似于全局变量
  • 格式:
export 变量名

父进程和子进程的关系

  • 概念:当我们登录Linux取得一个bash之后,这个bash就是一个独立的进程(拥有独特的PID),在这个bash下执行的任何命令都是由这个bash衍生出来的子进程
  • 两者之间的关系:当我们在命令行执行bash这个命令之后,就会进入一个子进程。此时父进程处于等待状态,所执行的操作都在子进程中操作,输入exit或者logout可以退出这个子进程,恢复来到父进程当中
  • 特点:子进程只会继承父进程的环境变量,而不会继承父进程的自定义变量。所以环境变量在子进程中可以使用,自定义变量不可以使用。此时就可以使用export命令设置环境变量
  • 为什么环境变量可以被子进程所使用:当启动一个shell时,操作系统会分配一内存区给shell使用,使用export可以使自定义变量的内容写入上述的内存区域当中。当加载子进程时,子shell可以将父shell的环境变量所在的内存区域导入自己的环境变量区块当中

演示案例

  • 第一步:使用bash可以进入一个子进程。然后echo ${name}发现子进程识别不了这个自定义变量

  • 第二步:exit退出这个子进程,然后export设置环境变量,再bash进入查看,可是识别了

五、变量内嵌入命令的执行

  • 概念:如果我们执行一个命令时,需要其他额外的命令来提供信息或辅助,可以使用`命令`或者$(命令)
  • 方法:
    • 方法一:变量名=`命令`  ==>注意:`是键盘上方数字键1左边的那个按键
    • 方法二:变量名=$(命令)

演示案例

  • uname  -r可以查看当前的Linux版本信息
  • ①我们将version变量的内容变为uname -r,然后查看version变量
version=$(uname -r)

echo ${version}

  • ②利用这一特性,我们进入Linux内核版本的目录下。Linux内核版本目录为:/lib/modules/4.4.0-31-generic/kernel
方式一:cd /lib/modules/`uname -r`/kernel

方式二(建议使用):cd /lib/modules/$(uname -r)/kerne

  • ③利用这一特性,查看crontab相关的文件信息。locate可以查找所有相关的文件,下面我们使用locate查找与crontab然后再配合ls -ld列出来
方式一:ls -ld `locate crontab`

方式二:ls -ld $(locate crontab)

六、查看变量内容(echo)

  • 方法:使用echo进行查看
    • 第一种:echo  $变量名
    • 第二种(推荐):echo  ${变量名}
    • 查看多个变量:echo  "${变量1},${变量2}..."

  • 提示:一个变量没有指向内容时,使用echo查看时会显示为空或出现错误信息
  • echo命令相关选项:
    • -e:激活转义字符
    • -n:显示的内容不换行

七、删除变量(unset)

  • 方法:如果不想要一个变量,可以使用unset直接删除
unset 变量名
  • 例如: 


  • 我是小董,V公众点击"笔记白嫖"解锁更多【Linux入门基础】资料内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

董哥的黑板报

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

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

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

打赏作者

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

抵扣说明:

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

余额充值