博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019/02/13 脚本编程进阶for
阅读量:3923 次
发布时间:2019-05-23

本文共 1835 字,大约阅读时间需要 6 分钟。

进程管理,包括计划任务的各种使用方法,一种是一次性任务,周期性任务,

一次性任务用at实现
周期性任务用cron实现(crontab等
这两个任务都依赖于各自的服务,在centos7上对应 了atd这个服务
在这里插入图片描述

没有启动,就无法通过at来执行一次性任务的,cron也是要启动才能执行周期任务

在这里插入图片描述
如果不启动,设置了任务也是白设,设置开机就启动
在这里插入图片描述
在centos6不太一样,runlevel 启动模式
在这里插入图片描述
chkconfig atd on 等价于centos7 的systemctl enable atd
在这里插入图片描述
命令不太一样
在这里插入图片描述
在这里插入图片描述
周期性任务可以直接用crontab -e 创建
分钟(0-59) 小时(0-23)一月每日(1-31) 月(1-12)星期(0-6)(0跟7一样) /path/cmd(要执行的命令,最好把路径加上)
每天都两点半执行
在这里插入图片描述

** * 2 * * * /path/cmd

(每天2点每分钟执行命令60次)的含义是每的意思*
真正的每天2点执行是在这里插入图片描述
计划任务也可以编辑/etc/crontab文件来实现,格式就是要加用户名
在这里插入图片描述
这个格式就是要加用户名,只适合管理员,普通用户打不开,所以一般用crontab -e(适用于所有人)
在这里插入图片描述
这个命令存到这个文件里
在这里插入图片描述
一定要确保时间是同步的,时间不准执行了,就是不对的

脚本三种常见的逻辑处理方式:

顺序执行,选择执行,循环执行
windows -a 取消 linux -c取消
一个小时点一下自动关机,bat脚本
在这里插入图片描述
在这里插入图片描述
windows计划任务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
if语法
case 语法比较针对离散值,单个值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
-c1ping 一次主机 -w2 2秒不返回结果,就认为ping不通(有时侯默认5秒ping不通,)
如果ping通,就是主机1是开机
如果ping不通,就显示主机1是出于维护状态(undergoing maintenance,编辑一个文件放在文件里(把维护的主机名放进去
如果既不是ping通也不是不通
就认为主机1已经当机了(意外当机 unexpectedly down,并且以非0 方式退出(exit1
在这里插入图片描述
循环,就是一个脚本重复执行多次,在执行的时候,这样的逻辑关系:
循环次数已经知道了,如(1+2+3。。。。100)
次数未知,但是我知道,什么时候满足什么条件退出,执行多少次也不知道
进入条件,上面时候执行循环,什么时候退出循环
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
与case对比,变量引用要加$符号,变量名就不用,列表中间空格隔开,列表决定了do几次,列表有几个,将执行多少次循环(列表有4个,就代表执行4次
执行第一次时,变量名对应的第一个字符串,name=wang
什么时候变量匹配到最后一个就结束了
把列表中的元素用空格隔开,分别执行

在这里插入图片描述

列表可以手工生成,用空格隔开
在这里插入图片描述
但是大部分情况下,不是手工生成的
在这里插入图片描述
10-2 ,以3 突进,10-20,以3突进
在这里插入图片描述
生成列表也可以用seq,列表不一定空格隔开,回车也行
在这里插入图片描述
2 3 10 从2开始到10 以3突进 命令要用反向引号
在这里插入图片描述
反向单引号=$(),还支持通配符
在这里插入图片描述
¥*是作为整体的,¥@是单个单个的

在这里插入图片描述

也支持位置变量
面试题经常问1到+100
在这里插入图片描述
用for循环怎么写
在这里插入图片描述
有些公司规定空格4个或者8个,或者tab键,但是tab键在不同的环境里距离不一样,所以有些企业就规定空格几个
在这里插入图片描述
脚本执行完后su是没有值的,因为时子进程,但是命令的话就要做初始
在这里插入图片描述
所以一般习惯就是在脚本里加unset 初始化变量
在这里插入图片描述
在这里插入图片描述
bash -n 检查语法,但是下面的格式又不好看,所以一般加-
文件的第17行,
在这里插入图片描述多行重定向的方法
在这里插入图片描述
把王的口令改成magedu
在这里插入图片描述
创建100个用户,并且设置默认口令是passwd,判断是否存在,存在提示创建失败,不存在加命令magedu
在这里插入图片描述
在这里插入图片描述
这样条理更清晰
在这里插入图片描述
用创建用户的成功失败来判断,建议不用中文
在这里插入图片描述
按时间排序
在这里插入图片描述
arping可以测试网络中是否有跟你一样ip地址的主机
在这里插入图片描述
来实现一个网段的扫描
windows netstat -n在这里插入图片描述
扫描地址
在这里插入图片描述
在这里插入图片描述
ctrl+c停止不了,速度太慢,如何快速执行,并行执行
在这里插入图片描述
&后台执行
在这里插入图片描述
并行执行
在这里插入图片描述
加wait表做完程序,退出,否则后台执行不退出
在这里插入图片描述
后台执行不会自动退出,要加一个回车才会取消
在这里插入图片描述
并行执行,
第一种把所有的东西放到一个脚本里
在这里插入图片描述
如果想要把ping通的主机保存到文件里,重定向到文件
在这里插入图片描述
在这里插入图片描述
统计每个地址能够访问就追加一个地址,+1,+1 累计能访问的主机有几个
在这里插入图片描述
在这里插入图片描述
i为0时,i++结果非真
在这里插入图片描述
在这里插入图片描述
因为i++是先i再+1,++i是先加1,所以刚才脚本要修改下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

转载地址:http://ywkgn.baihongyu.com/

你可能感兴趣的文章
android图像处理(3)浮雕效果
查看>>
ExtJs 表格的实现
查看>>
题目1085 拦截导弹
查看>>
Kafka 为什么使用kafka
查看>>
Android开发技巧不同状态的Button
查看>>
CSS 鼠标经过时改变table所在行的颜色
查看>>
某机字长为32位 存储容量为64MB 若按字节编址 它的寻址范围是多少
查看>>
C 实现在Sql Server中存储和读取Word文件
查看>>
Java笔记之JTextField JTextArea区别
查看>>
Android学习笔记之Spinner
查看>>
UVA 题目401 - Palindromes
查看>>
Android学习笔记之SeekBar
查看>>
题目26 孪生素数问题
查看>>
java web 连接mysql数据库
查看>>
java 多线程简介
查看>>
docker架构
查看>>
Docker Client创建与命令执行
查看>>
springMVC学习笔记
查看>>
PageRank算法与特征向量和特征值(eigenvector和eigenvalue)
查看>>
HITS算法--从原理到实现
查看>>