【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 ...
随机推荐
- hibernate中简单的增删改查
项目的整体结构如下 1.配置文件 hibernate.cfg.xml <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hi ...
- 5.5 Nginx 负载均衡
ip_hash 语法:ip_hash 默认值:none 使用字段:upstream 这个指令将基于客户端连接的IP地址来分发请求.哈希的关键字是客户端的C类网络地址,这个功能将保证这个客户端请求总是被 ...
- redis提供的持久化机制(rdb,aof)
Redis提供的持久化机制 Redis是一种面向“key-value”类型数据的分布式NoSQL数据库系统,具有高性能.持久存储.适应高并发应用场景等优势.它虽然起步较晚,但发展却十分迅速. 近日,R ...
- Day10:关于桃子的和关于游戏新的设想(顺手做个记录孩子吃喝拉撒的工具)
公历2015年6月3日~ 北京时间晚上8:42~ 在美中宜和~ 一个叫桃子的小美女出生了! 没错!小桃子终于出生了!真心不容易啊! 6月3日 03:00 AM 老婆推我,叫我起来,她说她肚子疼,还想上 ...
- Xilinx COE文件格式小记
官方的参考文档是:https://www.xilinx.com/support/documentation/sw_manuals/xilinx11/cgn_r_coe_file_syntax.htm ...
- HTML学习第六天
HTML学习第六天 一.全局属性 contentEditable属性,控制标签元素的可修改性,默认与“”(空字符串)都代表真,即可编辑 <!DOCTYPE html> <html l ...
- mac下添加环境变量
1.环境变量相关文件说明: a. /etc/profile b. /etc/paths c. ~/.bash_profile d. ~/.bash_login e. ~/.profile f. ~/. ...
- iOS中html打开APP传参
1.在项目info.plist中添加URL Types以供html调用 2.html代码 <html> <head lang="en"> <meta ...
- docker学习笔记-02:docker常用命令
一.帮助命令: 1.查看版本:docker version 2.查看信息:docker info 3.查看帮助信息:docker --help 二.镜像命令: (一).查看已有镜像: 1.命令:doc ...
- axios和fetch
前面的vuex提到了异步请求,在vue里异步请求怎么请求呢,很显然jq.ajax是不用了,不是不能用,而是没必要,jq是操作dom的工具,强行用浪费功能,还会加大打包后的体积,而且是没有promise ...