Shell笔记:变量基础使用
语法: 为 my_var="hello"
,此处定义了一个值为字符串的变量,需要特别注意的是,等号=两边不能有空格。变量的命名只能使用英文字母,数字和下划线,且首个字符不能以数字开头。变量定义之后也可以在其他地方使用同样的语法给它重新赋值,但是注意,不可以使用 $my_var="hi"
这种语法,加花括号是使用变量时才需要的,赋值的时候不可以加花括号。
使用变量: 可以使用两种方式 $my_var
或 ${my_var}
(推荐),第二种加花括号的目的是帮助解释器识别变量边界,使用第二种方式是一种良好的编程习惯。
删除变量: 使用 unset ${my_var}
即可,删除变量后,再次使用变量不会报错,但是不会有任何值, echo "abc${my_var}def"
输出的值为abcdef。
readonly只读变量: 使用 readonly my_var="hello"
就可以将一个变量设置为只读变量, readonly
关键字也可以在变量定义之后再设置,如 readonly my_var
也是可以的,不是必须在变量初始化的时候才可以设置。当一个变量被设置为只读时,它就不可以被重新赋值,也不可以使用命令 unset
删除。
执行以下脚本 sh test.sh
:
#!/bin/sh
readonly my_var="hello"
my_var="hi"
输出为:
[root@zjy ~]# sh test.sh
test.sh: line 3: my_var: readonly variable
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY