shell脚本一个时间循环

#!/bin/bash
#
#sh x.sh 2017010101 2017010301

stime=$1
etime=$2
while :
do
    echo $stime
    stime=$(date -d "${stime:0:8} ${stime:8:2} 1hour"  +%Y%m%d%H)
    if [[ $stime -gt $etime ]]
    then
        break   
    fi  
done
#!/bin/bash
#
#sh x.sh 20170101 20170103

stime=$1
etime=$2
while :
do
    stime=$(date -d "$stime 1day"  +%Y%m%d)
    if [[ $stime -gt $etime ]]; then
        break;
    fi  
done
时间: 2024-12-14 07:46:41

shell脚本一个时间循环的相关文章

防止shell脚本长时间运行导致ssh超时

在一些对安全性要求较高的场景下,ssh的超时时间是管理员预先设置好的,在闲置一段时间后ssh连接会自动断开.这种情况下如果通过ssh执行脚本,而脚本运行时间又比较长的话,会导致ssh客户端和服务器长时间无交互而超时,命令执行失败. 使用bash子进程可以解决这种问题,思路是由子进程执行具体的逻辑代码,而由主进程来监控子进程的执行状态,同时向控制台输出字符来keep alive. bash创建子进程有多重方式,这里使用"()",然后用"&"将其放在后台执行.虽

Linux Shell脚本 几种循环语句创建用户的方法

大家好,我是孤云暮雨,今天给大家带来的是"Linux Shell脚本 几种循环语句创建用户的方法" 添加user1-user20用户 for循环: #!/bin/bash for i in {1..20} do useradd user$i echo "user$i Users to add success" done for循环(C风格): #!/bin/bash for ((i=1;i<=20;i++)) do useradd user$i &&a

shell脚本进阶之循环判断

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 14.0pt; font-family: 等线 } h1 { margin-top: 15.6pt; margin-right: 0cm; margin-left: 0cm; margin-bottom: .0001pt; text-align: justify; line-he

shell脚本中的循环

常用到的循环有for循环和while循环. for循环 [[email protected] sbin]# cat for.sh #! /bin/bash for i in `seq 1 5`; do echo $i done 脚本中的 seq 1 5 表示从1到5的一个序列.你可以直接运行这个命令试下.脚本执行结果为: [[email protected] sbin]# sh for.sh 1 2 3 4 5 通过这个脚本就可以看到for循环的基本结构: for 变量名 in 循环的条件: d

浅谈Shell脚本中for循环、while循环及case分支语句

博文目录一.for循环语句二.使用while循环语句三.使用case分支语句 一.for循环语句 当面对各种列表重复任务时,使用简单的if语句已经难以满足要求,而顺序编写全部代码更是显得异常繁琐,困难重重.这将可以使用for循环语句很好的解决类似问题. 1.for语句的结构 使用for循环语句时,需要指定一个变量及可能的取值列表,针对每个不同的取值重复执行相同的命令序列,直到变量值用完退出循环.在这里,"取值列表"称为for语句的执行条件,其中包括多个属性相同的对象,需要预先指定(如通

Shell脚本基础-----for循环

格式 for 名称 in 列表 do 循环体 done 例子: 列出/etc/passwd文件中,第1,3,6,12行的用户名,UID,Shell #!/bin/bash for line in 1 3 6 12 do         Username=$(head -$line /etc/passwd | tail -1 | awk -F: '{print $1}')         Userid=$(head -$line /etc/passwd | tail -1 | awk -F: '{

简单shell脚本编程示例(循环)

for循环 for 变量名in 列表;do 循环体 done 执行机制: 依次将列表中的元素赋值给"变量名"; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束 列表生成方式: (1) 直接给出列表 (2) 整数列表: (a) {start..end} (b) $(seq[start [step]] end) (3) 返回列表的命令 $(COMMAND) (4) 使用glob,如:*.sh (5) 变量引用: [email protected], $* 1.判断/var/目

Shell脚本(for循环,while循环,break跳出循环,continue结束本次循环)

for循环 语法:for 变量名 in 条件 : do done: 案例一: 计算1-100所有数字的和. 脚本: #!/bin/bash sum=0 for i in `seq 1 100` do sum=$[$sum+$i] done echo $sum 结果: [[email protected] ~]# sh 1-100.sh 5050 案例二: 列出/etc/sysconfig下所有子目录,并且使用ls -d命令查看. 脚本: #/bin/bash cd /etc/sysconfig

shell脚本编程之循环语句

在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循环语句来达到这个目的. 一.for命令 格式:for 变量 in 列表:do 循环体 done for命令会遍历列表中的每一个值,并且在遍历完成后退出循环. 列表形式有以下几种: 1.在命令中定义的一系列的值: 2.变量: 3.命令: 4.目录: 5.文件. 实例1: 上例中使用{初始值..结束值}格式来表示一个区间的数值. 实例2:以变量作为列表: 实例3:用命令生成列表: 上例中使用seq命令来生成列表,seq命令的格式为:se