Shell编程入门
1、什么是shell?
Shell:命令行解释器,接收应用程序/用户命令,调用操作系统内核。
Shell是一个功能相当强大的编程语言,易编写、易调试、灵活性强。
Shell存在于操作系统的最外层,负责与用户直接对话。处理用户的输入,并将操作系统执行结果返回给用户。在用户登陆到操作系统之后的所有操作均由Shell解释执行。Shell在操作系统中所处的位置如下:
2、什么是shell脚本?
如果我们的命令或者应用程序不在命令行直接执行,而是通过一个程序文件来执行时,这个程序就被称之为shell脚本。
Shell脚本类似于windows下的批处理,但是它比批处理要强大一些,现在windows下有一个叫做power shell的功能可以和linux下的shell功能媲美。
3、Shell脚本怎么使用?
Linux批量管理
自动化完成系统优化
自动化安装Linux操作系统(kickstart和cobbler)
测试工具和内容自动化
邮件自动发送
服务自动重启
代码上线
定时备份和定时启停服务
Linux系统监控、服务监控、端口监控、IP黑名单监控、流量监控(脚本+zabbix)
服务的日志切割、存储备份、日志分析等等
4 、Shell解析器
4.1 Shell提供的shell解析器有
[root@centos ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
/usr/bin/sh *****
/usr/bin/bash *****
4.2 bash和sh的关系
[root@centos ~]# cd /bin/
[root@centos bin]# ll | grep bash
-rwxr-xr-x. 1 root root 964608 Oct 31 2018 bash
lrwxrwxrwx. 1 root root 4 Apr 19 2019 sh -> bash
4.3 Centos默认的解析器是bash
[root@centos bin]# echo $SHELL
/bin/bash
5、脚本的建立和执行
5.1、Shell脚本的格式
脚本开头:#!/bin/bash (指定解释器)
脚本开发时注意事项:
脚本存放在固定目录
开头加脚本解释器信息
附带作者和版权信息
脚本中尽量不用中文
脚本扩展名用.sh
成对的符号一次性书写完成
注意缩进
养成写注释的良好习惯
6、Shell执行方式
sh & bash,最常用的使用方式
cat *.sh | bash,适用于执行多个脚本
sh < xiaohu.sh,了解一下,输入重定向
/root/xiaoji.sh,需要执行权限
. xiaohu.sh
source xiaohu.sh