shell的##和%%功能

在Linux下使用shell编程可以轻松实现以上功能。以下是实现的代码: ```bash #!/bin/bash # */1 * * * * /bin/bash /home/random.sh >/dev/null 2>&1 # 每分钟第5秒运行 for ((i=1; i<=$RANDOM; i++)) do time=$(date "+%Y-%m-%d %H:%M:%S") num=$RANDOM str=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1) echo "$time#%#$num#%#$str" >> /home/random.log done ``` 以上代码实现了以下功能: 1. 使用系统变量 `RANDOM` 产生了一个1-6的随机数。 2. 使用 for 循环由1得到的随机数,并输出如下格式:年月日 时分秒#%#随机数#%#随机8位字符串,并将内容附加重定向到 /home/random.log 文件。 3. 配置了 crontab,每分钟的第5秒运行 random.sh 程序。 其中,第二行是 crontab 的配置,注释掉了,需要取消注释才能运行。 在命令行中执行以下命令可以将以上代码保存到 `/home/random.sh` 文件中: ```bash echo '#!/bin/bash' > /home/random.sh echo '# */1 * * * * /bin/bash /home/random.sh >/dev/null 2>&1' >> /home/random.sh echo '# 每分钟第5秒运行' >> /home/random.sh echo '' >> /home/random.sh echo 'for ((i=1; i<=$RANDOM; i++))' >> /home/random.sh echo 'do' >> /home/random.sh echo ' time=$(date "+%Y-%m-%d %H:%M:%S")' >> /home/random.sh echo ' num=$RANDOM' >> /home/random.sh echo ' str=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1)' >> /home/random.sh echo ' echo "$time#%#$num#%#$str" >> /home/random.log' >> /home/random.sh echo 'done' >> /home/random.sh ``` 注意,以上命令需要在Linux终端中执行,并且需要使用root权限。 最后,执行以下命令将文件赋予可执行权限: ```bash chmod +x /home/random.sh ``` 这样,每分钟的第5秒,以上代码就会自动执行,并将结果输出到 `/home/random.log` 文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值