目录
前言
为何要学习shell?
日常运维工作基本就是一些繁琐的重复工作,每天80%的时间都干着昨天做过的事,那么摆在运维人员面前的选择就是:
A.自己慢慢搞定一切
B.让机器搞定一切
这里不假思索,无脑扣B。。。
所以我们学习shell是为了自动化,使用自动化是为了提高工作效率,提高工作效率是为了提高产出,提高产出是为了提高成就感和公司收入。
一 shell的定义及作用
定义
shell是一个程序,用C语言编写,是用户与linux内核之间沟通的桥梁。
shell解释器
shell解释器如下:
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
centos7的shell:
[root@localhost ~]# echo $SHELL
/bin/bash
二 shell脚本规范及执行
首行#!/bin/bash
定义脚本的执行环境
脚本名后缀sh
(便于自己识别)
执行脚本
三 shell格式化输出
echo命令用于在终端设备上输出字符串或变量提取后的值
-n | 不输出结尾的换行符 |
-e “\a” | 发出警告音 |
-e “\b” | 删除前面的一个字符 |
-e “\c” | 结尾不加换行符 |
-e “\f” | 换行,光标扔停留在原来的坐标位置 |
-e “\n” | 换行,光标移至行首 |
-e “\r” | 光标移至行首,但不换行 |
-e 为转义 后加多种选项实现不同格式的输出
附:利用echo -e \b实现倒计时脚本
#!/bin/bash
for time in `seq 9 -1 0`
do
echo -n -e "$time\b"
sleep 1
done
echo
echo 颜色输出 附颜色代码