shell 运维和编程语言
脚本注释
- shell脚本中,#后面的内容表示注释内容,一般是给开发者或使用者观看,解释器会忽略此部分内容
- 注释可以单独写一行,也可以跟在文件末尾
- 保持注释的习惯,尽量使用英文
例子:
#! /bin/bash
# Date : 2019-11-28 14:59:18
# Author : created by chaoge
# Blog : www.cnblogs.com/pyyu
执行shell脚本的方式
bash script.sh
或sh script.sh
,文件本身没有权限执行,没有x
权限或者脚本未指定shebang
,重点推荐这种方式- 使用
绝对
/相对
路径执行脚本,需要文件含有x
权限 source script.sh
或者. script.sh
,代表执行的含义,source
等于.
- 少见用法
sh < script.sh
示例:
bash shell和运维
shell脚本语言很适合处理纯文本类型数据,且Linux的哲学思想就是一切皆文件,如日志、配置文件、文本、网页文件、大多数都是纯文本类型的,因此shell可以方便的进行文本处理,好比强大的Linux三剑客(grep、sed、awk)。
shell运维可以做的工作:
- 基础命令
- 存储服务
- 定时任务
- zabbix监控
- 虚拟化服务
- 云计算服务
- Linux系统服务
- Django服务
- python服务
- Nginx/Web
脚本语言
shell脚本语言属于一种弱类型语言
,无需声明变量类型,直接定义使用。
强类型语言
,必须先定义变量类型,确定是数字、字符串等,之后在赋予同类型的值。
Ubuntu系统中支持的shell情况,有如下类型:
默认的sh解释器
其他编程语言
- PHP是网页开发语言,专注于web页面开发,诸多开源产品,wordpress、discuz开源产品都是PHP开发
- Perl语言,擅长支持强大的正则表达式,以及运维工具的开发
- Python语言,明星语言,不仅适用于脚本程序开发,也擅长Web页面开发,如(系统后台,资产管理平台),爬虫程序开发,大量Linux运维工具也是由python开发,甚至游戏开发也使用
shell的优势
虽然有诸多脚本编程语言,但是对于Linux操作系统内部应用而言,shell是最好的工具,Linux底层命令都支持shell语句,以及结合三剑客(grep、sed、awk)进行高级用法。
- 擅长系统脚本开发,如软件启停脚本,监控报警脚本,日志分析脚本