1.shell格式化输出
变量分类
系统中的变量根据作用域及生命周期可以分为四类:本地变量、环境变量、全局变量、内置变量
1、本地变量
用户自定义的变量,定义在脚本或者当前终端中,脚本执行完毕或终端结束变量失效。
2、环境变量(用户私有变量
)
定义在用户家目录下的.bashrc或.bash_profile文件中,用户私有变量,只能本用户使用。
3.全局变量
使用export命令将本地变量输出为当前shell中的环境变量
所有用户及shell都可以使用,可以在/etc/profile /etc/bashrc下永久定义.
定义变量
变量格式: 变量名=值
注意:=左右不能有空格
变量名命名规则
:
- 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
- 中间不能有空格,可以使用下划线(_)。
- 不能使用标点符号。
- 不能使用bash里的关键字(可用help命令查看保留关键字)。
变量赋值,此种方法设置为本地变量 [root@zutuanxue ~]# name="baism" [root@zutuanxue ~]# school='ayitula' [root@zutuanxue ~]# age=30 [root@zutuanxue ~]# score=88.8
变量取值
读取变量内容符: 读取方法:变量名
变量内容读出 [root@zutuanxue ~]# echo $name baism [root@zutuanxue ~]# echo $school ayitula [root@zutuanxue ~]# echo $age 30 [root@zutuanxue ~]# echo $score 88.8
取消变量 unset
取消当前环境中的变量,如果是变量设置是保存在文件中,下次重启又会恢复.
扩展知识
1)取出一个目录下的目录和文件:dirname和 basename
# A=/root/Desktop/shell/mem.txt # echo $A /root/Desktop/shell/mem.txt # dirname $A 取出目录 /root/Desktop/shell # basename $A 取出文件 mem.txt
2)变量"内容"的删除和替换
一个“%”代表从右往左去掉一个/key/
两个“%%”代表从右往左最大去掉/key/
一个“#”代表从左往右去掉一个/key/
两个“##”代表从左往右最大去掉/key/
# url=www.taobao.com # echo ${#url} //14 获取变量的长度 # echo ${url#*.} //taobao.com 以分隔符.界限 *匹配所有 # echo ${url##*.} //com # echo ${url%.*} //www.taobao # echo ${url%%.*} //www
完