2021-02-18

shell脚本编程学习第十二天

使用 for 循环在/oldboy 目录下批量创建 10 个 html 文件,其中每个文件需要包含 oldboy 固定字符串加 10 个随机小写字母.

#!/bin/bash
. /etc/init.d/functions  // . 是执行的命令
path=/home/tmp
if [ ! -d $path ];then // 判断路径是否存在
    mkdir -p $path     // 不存在就创建一个
fi
for i in `seq 10`
do
    a=$(openssl rand -base64 30|sed "s#[^a-z]##g"|cut -c 1-10) //将所有非字母替换为空,然后剪切第1-10个字母
    touch $path/oldboy_${a}.html
    if [  $? -eq 0 ]
    then
        action "touch ok" /bin/true
    else
        action "touch not ok" /bin/false
    fi
done

. /etc/rc.d/init.d/functions 就是 source /etc/rc.d/init.d/functions,使用这些函数。“.”是一个命令,(相当于source,再当前的shell里去读取、执行文件,文件不需要有执行权限)后有一个空格,使用action必须使用这个命令,才会出现这样的效果(其实是调用系统的命令测试shell,具体可以看/etc/rc.d/init.d/functions)。在这里插入图片描述
**seq:**产生一个数到另一个数之间的所有整数。
openssl rand: 用于产生指定长度个bytes的随机字符。
openssl rand[-out file] [-randfile(s)] [-base64] [-hex]num
-out 将随机字符放到一个文件中,
-base64 / -hex 对随机字符串进行base64编码或用hex格式显示。
**cut:**从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出;
-b :输入每行第n个字符(半角,注意如果有中文将乱码)。
-c :输入每行第n个字符(适用中文)。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符(例如中文)。仅和-b标志一起使用。
sed: 继续学习,sed “s#被替换内容#替换成什么#g” file
sed的用法:https://www.cnblogs.com/strugger-0316/p/13622461.html
[abc]:匹配[] 中的所有字符 [^abc] 匹配除了[] 中的所有字符。
正则表达相关:https://www.runoob.com/regexp/regexp-syntax.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值