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