【shell】常用shell脚本
Shell介绍
shell是一个用c编写的程序,是用户和系统内核交互的工具。它既是一种命令语言也是一种解释性的编程语言。
Shell的功能
1. 命令行解释功能。解析命令行中输入的命令。比如ls,cp,df等等。
2. shell编程,可以开发一些自动化的小工具。比如系统中很多启动脚本就是用shell开发的。
3. 变量维护。比如打印当前用户echo $USER。
4. 启动程序,比如启动Apache,nginx等。
5. 输入输出重定向。
Shell脚本
定义:
shell脚本就是将完成一个任务的所有命令按照执行的顺序,自上而下写入到一个文本文件中,然后给予可执行权限。
脚本书写规范
1. shell脚本文件命名不要用无意义的字母或者数字,要见名之意。文件扩展名用.sh结尾。文件名总长度最好不要超过30个字符。
2. 脚本开头第一行定义脚本执行环境,如 #!/bin/bash 或者 #!/bin/sh,前面#!这个称之为幻数,后面跟的是解释此脚本的shell的路径,内核会根据它来决定用哪个程序来执行。默认是用bash来解释。
3. 脚本开头要写一些必要的脚本注释信息,就是该脚本的作用,如果没有注释会很难理解脚本的功能,只能通读一遍代码,这样会浪费很多宝贵时间。下面是一个例子。
#Author :songguojun
#Created at : --
#Release : 1.0
#Script Description: nginx install
Shell脚本实际案例
1.检查主机存活状态
#!/bin/bash
IP_LIST="192.168.18.1 192.168.1.1 192.168.18.2"
for IP in $IP_LIST; do
NUM=
while [ $NUM -le ]; do
if ping -w 2 $IP > /dev/null; then #设置两秒超时时间
echo "$IP Ping is successful."
break
else
# echo "$IP Ping is failure $NUM"
FAIL_COUNT[$NUM]=$IP
let NUM++
fi
done
if [ ${#FAIL_COUNT[*]} -eq ];then
echo "${FAIL_COUNT[1]} Ping is failure!"
unset FAIL_COUNT[*]
fi
done
2.遍历两个时间段并动态修改时间
#!/bin/bash
#用法 : sh time.sh 2019-01-01 2020-01-01
EXPORT_START_DATE=$
EXPORT_END_DATE=$ date -s "$EXPORT_START_DATE" > /dev/null i=$EXPORT_START_DATE
while [[ $i < `date -d "+1 day $EXPORT_END_DATE" +%Y%m%d` ]]
do
echo $i
i=`date -d "+1 day $i" +%Y-%m-%d`
done
【shell】常用shell脚本的更多相关文章
- Linux Shell常用shell命令
Linux Shell常用shell命令 一.文件.目录操作命令 1.ls命令 功能:显示文件和目录的信息 ls 以默认方式显示当前目录文件列表 ls -a 显示所有文件包括隐藏文件 ls -l 显示 ...
- shell常用监控脚本
1.cpu空闲脚本 top -b -n1 |grep 'Cpu'|awk '{print $5}'|sed 's/%//'|sed 's/id,//' 变量赋值 cpu_id='top -b -n1 ...
- LINUX下常用SHELL指令
Linux Shell常用shell命令 一.文件.目录操作命令 1.ls命令 功能:显示文件和目录的信息 ls 以默认方式显示当前目录文件列表 ls -a 显示所有文件包括隐藏文件 ls -l 显示 ...
- Linux常用Shell脚本珍藏【转载】
我们在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运维常用的脚本.如何学好脚本,最关键的 ...
- shell常用脚本
shell常用脚本 author:headsen chen 2017-10-17 15:36:17 个人原创,转载请注明,否则依法追究法律责任 1,vim name.grep.sh 2,cat ...
- 8个DBA最常用的监控Oracle数据库的常用shell脚本
本文介绍了8个常用的监控数据shell脚本.首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行DBA脚本.网上也有好多类似的文章,但基本上都不能正常运行,花点时间重 ...
- 常用shell脚本命令
常用shell脚本命令 1.显示包含文字aaa的下一行的内容: sed -n '/aaa/{n;p;}' filename 2.删除当前行与下一行的内容: sed -i '/aaa/{N;d;}' f ...
- linux shell 常用基本语法
转自网络,真正来源不详.... 一. Linux基本命令 1.1. cp命令 该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,功能十分强大. 语法: cp [选项] 源文件或目录 目标文件或 ...
- [拾 得] 一枚迷人的贝壳 SHELL / Linux | shell 脚本初步入门
坚持知识分享,该文章由Alopex编著, 转载请注明源地址: http://www.cnblogs.com/alopex/ 索引: 什么是shell shell的分类 shell脚本的执行方式 ...
- Shell 起停脚本 专题
To list any process listening to the port 8080: lsof -i:8080To kill any process listening to the por ...
随机推荐
- python2.7 操作ceph-cluster S3对象接口 实现: 上传 下载 查询 删除 顺便使用Docker装个owncloud 实现UI管理
python version: python2.7 需要安装得轮子: botofilechunkio command: yum install python-pip&& pip ...
- centos下离线安装zip和unzip
首先如果你的centos可以联网,那可以不用看了,直接yum install -y zip unzip就行,非常的痛快! 如果不能联网,像我一样,只能用vpn连上去,做了点限制.那就非常烦了,yum了 ...
- C++面试常见问题——13结构体与共用体的sizeof
结构体与共用体的sizeof 结构体的sizeof 结构体变量占用的内存空间大小通常是其基本类型的大小,但是由例外(字节对齐机制) struct S1{ char c[5]; int a; doubl ...
- thinkphp5+python.apscheduler实现计划任务
1.thinkphp5配置自定义命令行 /application/console/command namespace app\console\command; use think\console\Co ...
- String+、intern()、字符串常量池
字符串连接符 "+"及字符串常量池实验.字符串final属性 结果预览 public class StrTest{ public static void main(String[] ...
- Java开发程序员必须要学会的linux命令总结
查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件. find . -name "*.xml" 递归查找所有的xml文 ...
- python手动实现深拷贝
深拷贝是将对象全拷贝,包括嵌套对象 def deepcopy(cls): if isinstance(cls, dict): dct = {} for k, v in cls.items(): dct ...
- 图片与byte相互转换
一.图片转byte public byte[] ImageToByte() { string imagefile = @"http://192.168.0.212/pass/T-1.jpg& ...
- angularJS 服务
- bean的autowire属性及其生命周期
一:sutowire属性 1.no:默认值,禁用自动装配: 2.byName:根据属性名称自动装配: 3.byType:根据属性类型自动装配: 4.constructor:通过构造方法自动装配,不推荐 ...