博文地址:
博主姓名:李常明
此笔记出自------跟老男孩学linux运维 《shell编程实战》
目录:
shell变量的核心基础知识与实践
1、变量类型:
环境变量(全局变量)和普通变量(局部变量)
2、自定义环境变量:
1)、设置环境变量(全局变量)的几种方法:
例:
(1)、export 变量名 ="value"(2)、变量名 =“value”;export 变量名(3)、declare -x 变量名 =“value”
以上是三种设置全局变量的方法,如果想要重新启动后继续生效,将任意一种设置为全局变量存入“全局环境变量的配置文件中”
1)、全局环境变量的配置文件如下:
/etc/profile/etc/bashrc/etc/profile.d
2)、用户的环境变量配置:
/user/.bashrc/user/.bash_profile
3、设置登录提示的两种方式:
1)、[root@localhost ~]# cat /etc/motd welcome to lcm linux shell training
登录后显示内容如下:
2)、[root@localhost ~]# cat /etc/profile.d/lcm.sh echo "here is lcm training.." #<== 脚本内容
4、用unset取消本地变量和环境变量:
[root@localhost ~]# export name='lichangming'[root@localhost ~]# echo $namelichangming[root@localhost ~]# unset name[root@localhost ~]# echo $name #<==已取消name的变量
5、变量定义的基本技巧与总结:
注意 ‘’ 单引号 与 双引号“”的区别
例子:
IP=192.168.1.2a=192.168.1.2-$IPb='192.168.1.2-$IP'c="192.168.1.2-$IP"echo "a=$a"echo "b=$b"echo "c=${c}"结果如下:a=192.168.1.2-192.168.1.2b=192.168.1.2-$IPc=192.168.1.2-192.168.1.2
从上面的结果分析:
1)、$变量名表示输出变量,可以用$a 或者${a}两种用法
使用‘’单引号定义的变量,会将原文输出。单引号中的变量不会引用,会当成一个字符串输出
使用“”双引号定义的变量,如果引用了变量,变量会经过解析后输出内容。
总结:
数字内容的变量定义可以不加引号,其他没有特别要求的字符串等定义最好都加上双引号,如果真的需要原样输出就加单引号,定义变量加双引号是最常见的使用场景
6、使用函数输出时间:(OS :Centos6.5)
echo $(date +%F)
注:
此上输出时间表示法,一般会用于持续备份的文件名中标识。
总结:
(1)、变量名及变量内容定义小结:变量名只能为字母,数字或下划线,只能以字母或下划线开头变量名的定义要规范,具有用意。(2)、调用变量的几种方法:$变量名${变量名}$(变量名)