1.1 什么是shell?
Shell其实是一个命令解释器,作用是解释执行用户输入的命令以及程序等,用户每输入一条命令,Shell给予解释执行一条
。这种键盘一输入命令,就可以立即得到回应的对话方式,称为交互模式。
Shell存在于操作系统的最外层,负责与用户直接对话。处理用户的输入,并将操作系统执行结果返回给用户。在用户登陆到操作系统之后的所有操作均由Shell解释执行。Shell在操作系统中所处的位置如下

1.1 什么是shell脚本?
简言之,如果shell命令通过写入到一个程序文件并执行的时候,此程序我们就称之为shell脚本。但是在生产环境中的Shell脚本不仅仅是这么简单,而是将一些命令、变量以及流程控制语句有机结合并生成的功能完善的强大的应用程序
。
1.1 什么时候使用shell脚本?
Linux批量管理
自动化完成系统优化
自动化安装Linux操作系统(kickstart和cobbler)
测试工具和内容自动化
邮件自动发送
服务自动重启
代码上线
定时备份和定时启停服务
Linux系统监控、服务监控、端口监控、IP黑名单监控、流量监控(脚本+zabbix)
服务的日志切割、存储备份、日志分析等等
1.1 如何学好shell脚本?
基础变量、条件表达式、流程判断、if、for循环、while循环、case语句、循环控制
从简单的判断和循环开始写
阅读、模仿、尝试从零开始写
写注释,将任务分解成一个个小任务,类似于打游戏闯关
找一本合适的教材,或者自己认真记笔记
多练习-思考-练习-思考,循环往复
1.1 shell脚本建立和执行
1.1.1 解释器类型
bash是centos中的默认解释器
sh
1.1.2 脚本定义
脚本开头
#!/bin/bash
1.1.3 父shell和子shell
脚本嵌套
重点:
父shell中的环境变量,在子shell中可以看到
而子shell中的变量,在父shell中看不到
1.1.4 shell执行方式
sh & bash,最常用的使用方式
cat *.sh | bash,适用于执行多个脚本
sh < oldboy.sh,了解一下,输入重定向
/root/oldboy.sh,需要执行权限
. oldboy.sh
source oldboy.sh
1.1.5 shell开发习惯
Ø 脚本存放在固定目录
Ø 开头加脚本解释器信息
Ø 附带作者和版权信息
Ø 脚本中尽量不用中文
Ø 脚本扩展名用.sh
Ø 成对的符号一次性书写完成
Ø 注意缩进
Ø 养成写注释的良好习惯
脚本放在指定目录
创建脚本,后缀是.sh
在第一行顶格添加命令解释器的声明#!/bin/bash
添加作者时间和版权信息
养成良好习惯,添加注释
Centos7默认解释器是/bin/bash
退出当前shell的命令是:exit
有一个小问题:在使用history的时候,加入脚本中,执行什么也不会输出。验证时候验证失败。暂时将其当做现象,课下进行深入研究
网友评论