Shell编程基础02 变量

站长QQ群

用于技术交流、投稿、商务合作 站长唯一QQ:528482275 站长唯一QQ群:649978721

IT运维技术交流

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

 

shell并不对变量区分类型,一切都是字符串。

 

定义变量


 

变量本质上就是一个键值对(不太严谨,先这么理解吧。),但在shell里=号两边不能有空格,下面定义一个变量str:

[root@localhost ~]# str="Linux"

 

那么你的内存里就有了一个变量str,它的值是Linux,类型当然是字符串啦。

 

当你想使用变量名称来获取值时,需在名称前加上$符号:

[root@localhost ~]# echo $strLinux[root@localhost ~]#

 

注:这里我们又使用了echo这个命令,shell强大之处在于能用数千个命令组合写出功能强大的脚本。感兴趣的童鞋可以在github上搜索下用shell实现的"docker容器",另外注意$str实际上是${str}的简写形式,某些情况下$str这种形式并不好使,这时候需要使用${str}的形式了,为了不给自己找麻烦可以养成一直使用${str}形式的习惯。

 

爱思考的童鞋可能会问能不能在变量值里面引用另外一个变量呢,答案是肯定的啦。那我们先要知道:使用一对算引号(" ")引起来的变量替换是不会被阻止的,所以双引号一般被称为弱引用,但是如果使用一对单引号(' ')引起来的变量替换是会被阻止的,所以单引号一般被称为强引用,变量名也只会被解释成字面意思。

 

举个栗子(突然想到榴莲像不像超大个的栗子^_^):

[root@localhost ~]# n=3.1415926[root@localhost ~]# echo "${n}"3.1415926[root@localhost ~]# echo '${n}'${n}[root@localhost ~]#

 

在这个榴莲中,不,栗子中双引号中的${n}发生了变量替换,而单引号中的${n}被输出了字面意思。

 

总结


 

shell中变量没有类型,一切都是字符串。

赋值时=号两边不能有空格,否则会报错。

强引用、弱引用。

榴莲和栗子都很好吃!

未经允许不得转载:作者:小牛, 转载或复制请以 超链接形式 并注明出处 小牛博客
原文地址:《Shell编程基础02 变量》 发布于2019-06-19

分享到:
赞(0) 打赏

评论 抢沙发

7 + 5 =


Shell编程基础02 变量

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

网站公告

开启新征程,加油少年。 2019-10-6

开启新征程,加油少年。

不知不觉,都十月多了,即将面临找工作的我来说是尤为重要的,

不管怎么说,十月加油吧。

我已阅读
Vieu4.0主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册