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(具体数字自定义)则错误
标签:shell,变量,空格,参数,变量名,数字 来源: https://www.cnblogs.com/zhangdudu/p/16450105.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。