变量
1. 系统预定义变量
1. 子shell中的变量,父shell中是不可见的 (使用bash, 进入子shell)
2. 常用系统变量:
全局: $HOME , $PWD, $SHELL, $USER $PATH
局部:
3. 查看系统变量
echo $my_var
set (查看所有变量局部全局)
env | less ( 系统定义的)
printenv | less
printenv USER(不用$)
4. 用户定义变量
变量名=变量值 (等号前后不能有空格)(局部)
撤销变量 : unset 变量名
声明静态变量: readonly 变量(不能unset)(只读)
升级为全局变量 export myvar(子shell 中改变变量值对父shell 中没有影响,对变量进行expot也没用)
变量定义规则:
1.变量名可以由字母、数字、下划线组成,不能以数字开头,环境变量建议大写
2.等号两边不能有空格
3.在bash中,变量默认类型都是字符串类型,不能直接数值运算
4. 变量的值如果有空格,需要使用双引号或单引号括起来
5. 特殊变量
$n:
n为数字,0表示当前脚本名称,1-9表示参数,十以上的参数用大括号括起来 $2, $0, ${12}
$#
获取所有传入参数个数,常用于循环,判断参数的个数是否正确以及加强脚本的健壮性
$*
获取所有参数,并把参数看作一个整体
$@
获取所有参数,并把每个参数区分 [abc,def]
%?
最后一次执行命令的返回状态,如果为0则正确,非0(具体数字自定义)则错误
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)