前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Linux学习随笔】三、shell语法-变量「建议收藏」

【Linux学习随笔】三、shell语法-变量「建议收藏」

作者头像
全栈程序员站长
发布2022-09-13 09:50:00
5490
发布2022-09-13 09:50:00
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

一、定义变量

shell语法中唯一的变量就是字符串,当然可以修改为局部变量或者为全局变量或其他形式

定义方法有三种

# 注意等号左边不能有多余空格,要不然会报错。结束语句不用打分号,跟python有点像,hh。

(1)任意字符串=’dududu’ #单引号定义字符串

(2)任意字符串=”dududu” #双引号定义字符串

(3)任意字符串=dududu #也可以不加引号

注意:单引号与双引号的区别是单引号中的内容在输出时会原样输出,相当于直接打印了。

至于不加引号的区别,读者可以自己试着玩一下。hh

双引号中的内容,解释器会取对应变量的值。这里可以用printf理解,当然shell语法中也有printf函数了。


二、使用变量

使用变量需要使用符号,可以理解为索引对应变量中储存的值,或者{任意变量}。花括号并不是一定要打的,但有时候为了让解释器识别变量边界就必须要打,比如name=asd sdds,如果直接输出name的话,那么输出结果是asd

举例:

name=dududu

echo $name #输出dududu

echo ${name} #输出dududu

echo ${name}tuoluxingdong #输出dududutuoluxingdong

# echo可以理解为输出

三、删除变量

unset 变量名

举例:

name=dududu

echo $name #输出dududu

unset name

echo $name #删除变量后再输出就会输出空行


四、补充细节

(1)局部变量与全局变量

①局部变量变为全局变量

举例:

name=dududu

export name #方法一,这样name变量就变成了全局变量

declare -x name #方法二,同样的效果,跟之前的改为可执行文件还蛮类似的,hh。

②全局变量变为局部变量

举例:

export name=dududu #设置该变量为全局变量

declare +x name #改为局部变量 同①的方法二类似。hh。

(2)只读变量(可以理解为const,即不能修改该变量的值,只能输出

举例:

name=dududu

readonly name #方法一,比较好理解 就是英文意思只能读取

declare -r name #方法二,可以理解为去掉了name变量的修改权限

name=tuoluxingdong #会报错,因为name变量为只读变量,不能修改值了

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160467.html原文链接:https://javaforall.cn

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档