携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情
Shell脚本概述
- 将要执行的命令按顺序保存到一个文本文件
- 给文件执行权限
- 结合各种shell控制语句完成各种复杂的操作
shell作用
shell又叫命令解释器,介于内核和用户之间,由于电脑只能识别二进制语言,所以shell接受到用户指令后会自动翻译并传递给内核,内核调度硬件资源完成指令。
常用shell 存放在/etc/shells
- bash:(/bin/bash)是生产环境中用的最多的,基准于GNU的框架下发展出的shell
- nologin:这个shell可以让用户无法登录
- sh:以已经被bash替换
shell脚本的作用
1. 自动化运维
2. 减轻管理员工作量
3. 批量化重复操作可以编写脚本结合计划任务自动周期运行
4. 提高处理文本文件的速度
5. 避免配置出差
shell脚本的构成
-
脚本声明(解释器)第一行为#!/bin/bash,表示此行以下的代码语句是通过/bin/bash解释执行(有的省略是因为linux默认/bin/bash),但如果用python代码
-
注释信息“#”开头,运行脚本时不会被执行
-
可执行语句:比如echo
注:shell脚本的后缀名是 .sh
chmod + x 给脚本运行权限
运行脚本的方式
- 使用绝对路径运行
- 使用相对路径运行
- 指定shell程序运行(sh,bash)
- source运行(会在当前环境中执行)
- . + 脚本运行(会在当前环境中执行)
重定向与管道符
标准输入与输出
- 标准输出:从该设备接收用户输入的数据
- 标准输出:通过该设备向用户输出数据
- 标准错误:通过该设备报告执行出错信息
重定向操作
管道符
管道符的作用是连接两个命令,将第一个命令的标准输出作为第二个命令的标准输入。 同一行命令中可以使用多个管道符。
-
linux下的管道符使用"竖杠"表示:| 。
-
格式:命令A | 命令B
如果管道符号右边的命令一定是需要执行对象的命令,则管道符号后面要有xargs命令来传递执行参数