Linux Shell变量
变量分类
- 系统变量(PWD,USER...)
- 显示所有系统变量
set
- 显示所有系统变量
- 用户自定义变量
定义变量
基本语法#
- 声明变量: 变量=值
- 撤销变量: unset 变量
- 声明静态变量: readonly 变量
- 静态变量不能unset
定义规则#
- 可有字母、数字、下划线组成,但不能以数字开头
- 声明变量的时候 变量=值, 等号两边不能有空格
- 变量名称一般习惯大写
- 如果要将指令返回值赋给变量
- A='date'【是反引号,不是单引号!】
- A=$(date)
举例#
注:ehco后添加的内容会直接以文本形式输出, 而遇到$
时会将对应内容识别为变量,转而输出变量内容。
设置环境变量
为什么需要设置环境变量#
环境变量相当于全局变量,按上文的方式在一个shellA定义的变量在shellB将不起作用。而如果定义一个环境变量,那么它无论是在shellA还是在shellB中都能起作用
如何设置#
- 在/etc/profile中添加环境变量
- 添加语法 :
export 变量名=变量值
【等号两边同样不能有空格】 - 执行
source /etc/profile
使配置文件生效
举例:添加环境变量TOMCAT_HOME#
位置参数变量
介绍#
- 当我们执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量
- 比如:./myshell.sh 100 200,这个就是一个执行shell的命令行,100,200是传入的参数
- 类比c语言中的scanf()
基本语法#
- 0代表命令本身,$1-{10})
- *把所有的参数看成一个整体)
- @把每个参数区分对待)
- $#(功能描述:这个变量代表命令行中所有参数的个数)
举例#
预定义变量
基本介绍#
shell设计者实现定义好的变量,可以在shell脚本中直接使用
基本语法#
-
- $?(功能描述︰1.最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0,则证明上一个命令执行不正确了。2.用来获取函数的返回值)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南