本文是自己学习的总结,仅以作分享。若有不对的地方欢迎指正。
变量的类型
环境变量(全局变量):可在创建他们的shell及其派生出来的任意子进程shell中使用。
局部变量:只能在创建他们的shell函数或脚本中使用。
环境变量
用于定义shell的运行环境,来保证shell命令的正确执行。一般认为,全局变量是系统的全局变量,可用于系统的子进程中,和各类应用中。
一般定义环境变量会在用户的家目录下.bash_profile或/etc/bashrc文件中,或者全局的配置/etc/profile或/etc/profile.d/中定义。
一般定义环境变量会在用户的家目录下.bash_profile或/etc/bashrc文件中,或者全局的配置/etc/profile或/etc/profile.d/中定义。
传统上环境变量都要大写。环境变量用于用户进程之前,必须用export命令进行导出。
设置环境变量
expport 变量名=value
declare –x 变量名=value
变量名=value;export 变量
显示环境变量用echo $变量,或者printenv显示。
取消环境变量可用unset 变量(如:unset PATH。此方法临时生效)。永久生效则要写入配置文件。
局部变量
又叫本地变量,在用户当前的Shell生存期的脚本中使用。如果在Shell中启动另一个进程或退出,本地变量会失效。
本地变量设置
变量名一般是字母、下划线和数字组成,建议用字母开头
变量名=value
变量名=‘value’( ' '中的value是啥就是什么,不做解析)
变量名=”value”(“ ”中的value会做解析)
习惯:数字不加引号,其它没特别说明加双引号
自定义变量建议
纯数字(不带空格),定义方式可以不加引号(单或双)
字符串一般用双引号定义,特别是多个字符串中间有空格
变量内容需要原样输出,用单引号
命令定义为变量
使用反引号` `,如a=`date +%F`
使用$,如a=$(date +%F)
在使用时,为避免引起混淆,可将定义的变量用“”或{ }括起来。如“$A”或“{$A}”