加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell编程(一)

发布时间:2020-12-15 17:09:10 所属栏目:安全 来源:网络整理
导读:博文地址:http://keep88.blog.51cto.com 博主姓名:李常明 此笔记出自------跟老男孩学linux运维 《shell编程实战》 目录: shell变量的核心基础知识与实践 1、变量类型: 环境变量(全局变量)和普通变量(局部变量) 2、自定义环境变量: 1)、设置环境变

博文地址: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
welcometolcmlinuxshelltraining

登录后显示内容如下:

wKioL1krmUSRf7xoAAAEFiQ9h34682.png

2)、[root@localhost~]#cat/etc/profile.d/lcm.sh
echo"hereislcmtraining.."#<==脚本内容

4、用unset取消本地变量和环境变量:

[root@localhost~]#exportname='lichangming'
[root@localhost~]#echo$name
lichangming
[root@localhost~]#unsetname
[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)

wKiom1ktCv_zZAfvAAASk65f2wU767.png

注:

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

总结:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读