Shell介绍
什么是Shell
shell是介于内核与用户之间的,负责命令解释的解释器
Shell在系统中的示意图
Shell的种类
- /bin/sh 是bash的一个快捷方式
- /bin/bash 是bash,大多数Linux默认的shell,几乎包含了shell的所有功能
- /sbin/nologin 非交互式的shell,不能登录操作系统
- /bin/dash 小巧的、高效的、功能相对比较少的shell
- /bin/csh 是具有C语言风格的一种shell
- /bin/tcsh 是csh的增强版,完全检查csh
总结
shell就是人机交互的一个桥梁
Shell脚本介绍
什么是Shell脚本
一句话
简单来说shell脚本就是将要执行的命令保存到文本中,按照顺序执行。shell脚本是解释型的,意味着不需要编译。
准确叙述
若干命令+脚本的基本格式+脚本的特定语法+思想=Shell脚本
什么时候用到Shell脚本
重复化、复杂化的工作,通过把工作命令写成脚本,以后仅仅需要执行脚本就能完成这些工作。
Shell脚本用途
- 自动化软件部署
- 自动化管理
- 自动化分析处理
- 自动化备份
- 自动化监控脚本
Shell脚本书写与执行
Shell脚本基本写法
- 脚本第一行,需要使用“#!”指定解释器,必写。一般使用“/bin/env bash”
#! /bin/env bash
- 脚本第二部分,注释(“#”注释符)说明,对脚本的进本信息进行描述,可选。
#! /bin/env bash
# 以下内容是对脚本的基本信息描述
# Name:名字
# Desc:脚本描述
# Patch:存放路径
- 脚本第三部分,脚本要实现的具体代码内容
#! /bin/env bash
# 以下内容是对脚本的基本信息描述
# Name:名字
# Desc:脚本描述
# Patch:存放路径
# 以下是脚本的具体内容
commands
...
Shell脚本运行方式
- 标准脚本执行方式(推荐)
#创建脚本
touch /root/first_shell.sh
#赋予脚本可执行权限
chmod a+x /root/first_shell.sh
#执行脚本(绝对路径执行)
/root/first_shell.sh
#执行脚本(相对路径执行)
cd /root
./first_shell.sh
- 指定解释器执行脚本(不推荐)
#创建脚本
touch /root/first_shell.sh
#指定解释器执行脚本
bash -x /root/first_shell.sh
bash -n /root/first_shell.sh
#-x:展示执行过程
#-n:测试脚本是否有语法错误
Shell脚本简单案例
- 创建脚本文件
touch /root/first_shell.sh
- 编辑脚本
#! /bin/env bash
# Author: wang ming qu
# Describe: test first shell
echo $(date +%F)
echo "Hello Word"
- 脚本赋予执行权限
chmod a+x /root/first_shell.sh
- 执行脚本
/root/first_shell.sh