什么是shell
shell是一个命令解释器,在操作系统的最外层,负责直接与用户进行对话,将用户输入命令翻译给操作系统,并将处理的结果输出到屏幕
shell交互方式
- 交互式
日常使用最多的一种模式,登录终端,执行命令,返回结果,再次输入命令,然后等待结果,最后结束工作退出shell会话,当shell会话退出后,当前的shell会话也就终止了
- 非交互式
在此模式下,shell不与你进行交互,而是直接读取某个文件进行执行,那文件中存在的就是
"一堆linux命令"
,当此文件从头执行到尾,结束后,当前shell也就终止了.
什么是shell脚本
- 将系统命令堆积在一起,顺序执行
(简称:系统命令堆积)
- 特定的格式 + 特定的语法 + 系统的命令 = 脚本文件
shell脚本能做什么?
shell其实就是基于标准化之上的—脚本工具
减少重复性,周期性工作
减少故障的几率
- 系统基础配置:系统初始化,系统更新,内核调整,网络,等
- 安装程序:LNMP,LAMP,mysql等
- 配置变更:nginx conf,PHP conf等
- 业务部署:shell配合git,jenkins实现自动化部署php,java代码,代码回滚
- 日常备份:shell脚本备份系统文件,增量与全备
- 信息采集:zabbix+shell
- 日志分析:取值-排序-去重-统计-分析等
等等等…
shell基本规范
- 脚本存放在固定目录下
- 开头加
!/bin/bash
作用:告诉脚本使用的是那种命令解释器,如果不指定shell,默认以bash执行
- 附带作者及版权信息
- 脚本扩展名为***.sh
- 脚本中尽量不使用中文
- 成对的符号一次书写完成
- 循环格式一次性输入完成
shell脚本的执行方式
- 写一个简单的脚本
#1.创建一个脚本文件
touch /root/test.sh
#2.vim编辑器进入脚本写命令
vim /root/test.sh
#!/bin/bash
echo "hello world"
(1)直接使用解释器执行脚本—无需权限
bash /root/test.sh
(2)以./
运行方式执行,—需要执行权限
chmod 755 /root/test.sh
./root.test.sh