shell变量的分类
2023-04-12
变量的分类
- 用户自定义变量
- 环境变量:这种变量中主要保存的是和系统操作环境相关的数据,例如PATH环境变量。
- 位置参数变量:这种变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的。
- 预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的。
用户定义变量
- 变量格式: 变量名,由字母或下划线打头,不允许数字开头,后面由字母、数字或下划线组成,并且大小写字母意义不同。 变量赋值,在“=”后边直接指定变量内容是为变量赋值的最基本方法,注意,“=”两边没有空格。
- 在使用变量时,在变量名前加$
- 对变量赋值如果字符串内容存在空格的话,用引号把它引起来
- 变量值的叠加,使用${}
- 命令的替换,使用$()或者反引号``
- 单引号和双引号之间的区别 单引号(’): 当要赋值的内容中包含“$”“\”等具有特殊含义的字符时,当使用单引号括起来,将无法引用其他变量的值,任何字符均作为普通字符看待。即单引号之间的内容原封不动赋值给变量 双引号(”): 双引号之间的内容如有特殊符号会保留它的特殊含义
环境变量
- 全局变量;局部变量
- 全局变量对于shell和所有的子shell都是有效的 局部变量它只在当前的shell环境中有效,当进入子程序或新的子shell环境时,局部变量将无法再使用。
- 查看全局变量:env 或 printenv
- 执行export 局部变量切换全局变量 可以同时指定多个变量名称作为参数(不需要使用“$”符号),变量名之间以空格分隔。
- 让变量永久生效,可以把定义好的变量写入配置文件。
- /etc/profile 是shell的主启动文件,只要你登录,bash会就执行这个文件,针对所有用户都生效。 $HOME/.bash_profile 作用也是一样的,它是用户的专属配置文件。
- 变量的删除unset
- 设置PATH环境变量 SHELL要执行某一个程序,它要在系统中去搜索这个程序的路径
- 其他常用的环境变量: 环境变量USER表示当前登录系统的用户名称 环境变量HOME表示用户的宿主目录 环境变量LANG表示语言和字符集 环境变量PWD表示当前所在的工作目录。
位置变量
Shell解释执行用户的命令时,将命令行的第一个字作为命令名,而其它字作为参数。由出现在命令行上的位置确定的参数称为位置参数。
使用$N 来表示 $0 获取当前执行shell脚本或程序的名称,包括脚本路径,命令本身。注意:$0属于预定义变量而不是位置变量。 {10}表示。
特殊变量
- *以"$1 $2 … # 表示命令行中位置参数的个数,传递到脚本的参数个数 *相同 $@以"$1" "n" 的形式输出所有参数
本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。
免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com



