首页 > 代码库 > shell编程(一)

shell编程(一)

博文地址:http://keep88.blog.51cto.com

博主姓名:李常明

此笔记出自------跟老男孩学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 $name
lichangming
[root@localhost ~]# unset name
[root@localhost ~]# echo $name
                   #<==已取消name的变量

5、变量定义的基本技巧与总结:

注意 ‘’ 单引号   与 双引号“”的区别

例子:

IP=192.168.1.2
a=192.168.1.2-$IP
b=‘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.2
b=192.168.1.2-$IP
c=192.168.1.2-192.168.1.2

从上面的结果分析:

1)、$变量名表示输出变量,可以用$a 或者${a}两种用法

使用‘’单引号定义的变量,会将原文输出。单引号中的变量不会引用,会当成一个字符串输出

使用“”双引号定义的变量,如果引用了变量,变量会经过解析后输出内容。


总结:

  数字内容的变量定义可以不加引号,其他没有特别要求的字符串等定义最好都加上双引号,如果真的需要原样输出就加单引号,定义变量加双引号是最常见的使用场景

6、使用函数输出时间:(OS :Centos6.5)

echo  $(date +%F)

技术分享

注:

 此上输出时间表示法,一般会用于持续备份的文件名中标识。

总结:

(1)、变量名及变量内容定义小结:
变量名只能为字母,数字或下划线,只能以字母或下划线开头
变量名的定义要规范,具有用意。
(2)、调用变量的几种方法:
$变量名
${变量名}
$(变量名)


本文出自 “keep常明” 博客,请务必保留此出处http://keep88.blog.51cto.com/11829099/1930688

shell编程(一)