行者运行脚本命令_shell 脚本复习

目标

写个测试脚本,重启50次 , 每次重启后执行一些命令,保存到文本,然后再次重启 。简单脚本, 直接 shell 走一波。

思路

每次输出一波文本 , 则每次用一个目录来保存这些文本

重启后直接执行命令 , 那么需要在 rc.local 添加执行命令

执行完再重启, 就需要 reboot 了

次数计数,似乎只能在本地文本中保存次数了。先把次数写到文本,重启后,再读,再累加。

脚本

这里是伪脚本,原脚本忘记抄下来了。可能有部分不对的地方。

#!/bin/bash

# 当前目录

cur_dir=`pwd`

#计数文本

cot="$cur_dir/cot.txt"

#最大次数

limit=50

if[[ -e $cot ]]

then

#计数文本存在

#取文本内容

num=`cat $cot`

#先计数加1

echo $((num+1)) > $cot

#休息一会儿,等系统初始化

sleep 5m

else

#第一次,没有文本,计数文本不存在,初始化一个文本

echo "1" > $cot

fi

。。。。。。。

#要执行的脚本

。。。。。。

#取数字

num=`cat $cot`

#判断是不是到达最大次数了

if[[ $((num)) -eq $limit ]]

then

#到次数,退出

exit 0

fi

#没到次数,重启

shutdown -r

简单一个脚本,搞了几个小时,还是忘性大。。。

简单几个点吧, 这里再理一下。

shell 字段串转数字

语法:$((num))

转数字后可以跟其他数字做比较,也可以做计算。也可以直接拿字符串的数字,在这个语法里计算

例如:

num="123"

$((num+1)) # 结果是:124

取字符串长度

这里也提一下吧 ,语法: ${#num}

num="abc123"

${#num} # 结果是: 6

文件的判断符号

-b $FILE :如果FILE存在且为块特殊文件,则为True。

-c $FILE :如果FILE存在且为特殊字符文件,则为True。

-d $FILE :如果FILE存在且为目录,则为True。

-e $FILE :如果FILE存在且为文件,则为True,无论类型(节点,目录,套接字等)如何。

-f $FILE :如果FILE存在且为常规文件(不是目录或设备),则为True。

-G $FILE :如果FILE存在且与运行命令的用户具有相同的组,则为True。

-h $FILE :如果FILE存在且为符号链接,则为True。

-g $FILE :如果FILE存在且设置了set-group-id(sgid)标志,则为True。

-k $FILE :如果FILE存在且设置了粘滞位标志,则为True。

-L $FILE :如果FILE存在且为符号链接,则为True。

-O $FILE :如果FILE存在并且由运行该命令的用户拥有,则为True。

-p $FILE :如果FILE存在且为管道,则为True。

-r $FILE :如果FILE存在且可读,则为True。

-S $FILE :如果FILE存在且为套接字,则为True。

-s $FILE :如果FILE存在且非零大小,则为True。

-u $FILE :如果设置了exists和set-user-id(suid)标志,则为True。

-w $FILE :如果FILE存在且可写,则为True。

-x $FILE :如果FILE存在且可执行,则为True。

sleep 命令

sleep NUMBER [SUFFIX]...

NUMBER可以是正整数或浮点数。

SUFFIX可以是下列之一:

s - 秒(默认)

m - 分钟

h - 小时

d - 天

sleep 是阻塞,且不可停止。只能杀进程了

数字的比较大小

-gt 大于

-lt 小于

-eq 等于

-ne 不等于

-ge 大于等于

-le 小于等于

重启命令

reboot : 强制重启,强制停止一切进程。

shutdown -r : 等正在进行的进程结束后,再重启

输出到文本

> : 清空文本,再写入

>> : 追加到文本最后,有换行

如果文章有帮助到您,请点个赞,您的反馈会让我感到文章是有价值的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值