shell杂谈(一)
一 明确
shell应用场景:底层自动化的脚本!
Python:CMDB管理 ,上层,Web界面CMDB的管理,监控的软件,大数据的分析!
给自己的任务:每天写一些有趣的系统脚本,不管是用什么语言!
初级运维:只会搭建基础的服务!
对自己的定位:精通shell,熟悉python和perl以及script!
shell的强大:shell脚本没有太多的函数库,但是有2000多个linux命令可被使用!
学了语言的目的:解决问题,解决常见的服务问题!
没有人随随便便的成功
讲解,会说,必会的30道题
##################################################
一 什么是shell
shell是一个命令行解释器(解释给操作系统听),内核和用户沟通的桥梁或者说是接口!
二 什么是shell脚本
当linux命令行或语句不在命令行中执行,而是通过程序文件执行,该程序就被称为shell脚本或者shell程序,shell程序类似DOS系统下批处理程序(*.bat),用户在shell脚本中敲入一系列的命令以及语句组合,这些命令、变量和流程控制语句等有机的结合就形成一个功能强大的shell脚本!
注意:思考脚本执行可能遇到的问题!
需求1:清除/var/log/下messages日志文件
#!/bin/bash
LOG_DIR=/var/log
ROOT_UID=0
#(1)是不是root用户
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "You must be root to run this script!"
exit 1
fi
#(2)能不能进入该目录
cd $LOG_DIR || {
echo "Can't change to nessary directory!"
exit 2
}
#(3)清除
> message && echo "Logs cleaned up!"
exit 0
细节1:非root用户无法执行
细节2:没有流程控制,不管之前是否成功,后面都会执行!
三 shell在运维中的作用
Shell脚本擅长处理纯文本的而linux中几乎所有的配置文件(服务)以及大多数的启动文件都是纯文本类型的!
上一篇: 根据参数优化Nginx服务性能
下一篇: 记一次Clickhouse性能优化过程