前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux shell之变量的使用规则

linux shell之变量的使用规则

作者头像
我是李超人
发布2020-08-21 00:57:31
9080
发布2020-08-21 00:57:31
举报
文章被收录于专栏:大数据入坑指南
      • 声明
      • 变量的使用规则
        • 1.变量与变量内容以一个等号”=”连接
        • 2.等号两边不能存在空格字符
        • 3.变量名称只能是英文字母或者数字,但是开头字符不能是数字
        • 4.变量内容若有空格符可使用双引号或者单引号将变量内容结合起来,但是
        • 5.可以使用转义字符”\”将特殊符号(如[enter],$,空格,!)等变成一般字符
        • 6.想要在原有变量上增加内容,可以使用
        • 7.在一串命令中如果想引用其它命令,可以使用反单引号或者$(命令)
        • 8.取消变量的使用unset 变量名

声明

以下内容均引用自鸟哥私房菜

变量的使用规则

1.变量与变量内容以一个等号”=”连接
代码语言:javascript
复制
[root@localhost ~]# myname=lichao
2.等号两边不能存在空格字符
代码语言:javascript
复制
[root@localhost kernel]# myname=li chao
bash: chao: command not found...
3.变量名称只能是英文字母或者数字,但是开头字符不能是数字
4.变量内容若有空格符可使用双引号或者单引号将变量内容结合起来,但是

1)双引号内的特殊字符可以保持原有的特性 2)单引号内的特殊字符仅为一般字符 如下所示:引用变量myname

代码语言:javascript
复制
[root@localhost ~]# myname=lichao
[root@localhost ~]# echo $myname
lichao
[root@localhost ~]# info="$myname is an software engineer"
[root@localhost ~]# echo $info
lichao is an software engineer
[root@localhost ~]# info2='$myname is an software engineer'
[root@localhost ~]# echo $info2
$myname is an software engineer
5.可以使用转义字符”\”将特殊符号(如[enter],$,空格,!)等变成一般字符
代码语言:javascript
复制
[root@localhost ~]# var=i\'m\ an\ engineer
[root@localhost ~]# echo $var
i'm an engineer
6.想要在原有变量上增加内容,可以使用
代码语言:javascript
复制
”$变量”或者${变量}
[root@localhost kernel]# info="my name is lichao"
[root@localhost kernel]# info=${info},and\ age\ is
[root@localhost kernel]# echo $info
my name is lichao,and age is
[root@localhost kernel]# info="$info"\ xxx
[root@localhost kernel]# echo $info
my name is lichao,and age is xxx
7.在一串命令中如果想引用其它命令,可以使用反单引号或者$(命令)

给变量赋值

代码语言:javascript
复制
[root@localhost zabbix]# version=$(uname -r)
[root@localhost zabbix]# echo $version
3.10.0-514.16.1.el7.x86_64

或者在路径中引用

代码语言:javascript
复制
[root@localhost zabbix]# cd /lib/modules/`uname -r`/kernel
[root@localhost kernel]# pwd
/lib/modules/3.10.0-514.16.1.el7.x86_64/kernel

注意反单引号或者$(命令) 这里面需要的是命令,不要和第6条中的变量的增加搞混淆了,上面version变量已经赋值了,但是像下面这样的写法是有问题的。

代码语言:javascript
复制
[root@localhost kernel]# cd /lib/modules/$(version)/kernel
bash: version: command not found...
-bash: cd: /lib/modules//kernel: No such file or directory

$()里面应该是指令而不应该是变量,要想引用变量内容需要使用中括号。

代码语言:javascript
复制
[root@localhost ~]# cd /lib/modules/${version}/kernel
[root@localhost kernel]# pwd
/lib/modules/3.10.0-514.16.1.el7.x86_64/kernel
8.取消变量的使用unset 变量名

查看环境变量可以使用指令env,查看环境变量和自定义变量可以使用set。

代码语言:javascript
复制
[root@localhost locale]# set | grep myname
info2='$myname is an software engineer'
myname=lichao

也可以使用export来查看环境变量,但是export通常是用来将自定义变量转换成环境变量。

备注:以上内容均是学习鸟哥私房菜这本书做的笔记。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/01/31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 声明
  • 变量的使用规则
    • 1.变量与变量内容以一个等号”=”连接
      • 2.等号两边不能存在空格字符
        • 3.变量名称只能是英文字母或者数字,但是开头字符不能是数字
          • 4.变量内容若有空格符可使用双引号或者单引号将变量内容结合起来,但是
            • 5.可以使用转义字符”\”将特殊符号(如[enter],$,空格,!)等变成一般字符
              • 6.想要在原有变量上增加内容,可以使用
                • 7.在一串命令中如果想引用其它命令,可以使用反单引号或者$(命令)
                  • 8.取消变量的使用unset 变量名
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档