要学习linux系统,会shell编程是一个合格运维或者架构的基础,原因有下:
1,因为系统里大多数的日志,配置文件(Rsync、apache、Nginx、LVS、MySQL等),启动脚本等都是纯文本的类型,而shell特别擅长处理这种纯文本类型的数据
2,学会了shell,可以编写一些常用的脚本,可以自动化完成一些日常的工作,节省时间,增加了效率。
什么是shell呢?
shell是一个命令解释器,位于linux系统的外层,你输入一条命令,shell就解释执行一条命令。
什么是shell脚本呢?
当命令或程序写在一个文件中,通过文件来执行,这个文件就称为shell脚本。
目前linux系统有哪些shell脚本语言种类呢?
在centos7系统下,我们看下这个文件,里面包含了linux系统支持的shell种类
cat /etc/shells
最常用的就是前两种:/bin/sh /bin/bash
Bourne shell(sh)由AT&T的Steve Bourne开发,是标准的 linux Shell,很多linux系统都配有sh。
后来又发布了Bourne Again shell(bash),取代了之前的 sh
我们通过命令查看/bin/sh也可以看出来,它是一个软连接,指向了/bin/bash
shell开发规范及习惯
1)Shell脚本的第一行是指定脚本解释器,通常为:
#!/bin/bash或
#!/bin/sh
2)Shell脚本的开头会加版本、版权等信息:
# Date: 18:29 2012-3-30
# Author: Created by wyboxl
# Description:this is a log
# Version:1.0
后面我们可以通过修改“~/.vimrc”配置文件配置vim编辑文件时自动加上以上信息的功能。