使用linux下的shell编程,创建 /home/random.sh 文件,实现以下功能: 1、使用系统变量 RANDOM 产生1-6的随机数 2、使用 for 循环由1得到的随机数,并输出如下格式:年月日 时分秒#%#随机数#%#随机8位字符串,并将内容附加重定向到 /home/random.log 文件 数据参考如下: 2023-05-24 13:14:00#%#1#%#e0a15f36 3、配置 crontab ,每分钟的第5秒运行 random.sh 程序(此配置内容写在 random.sh 文件的第二行,并注释)
时间: 2024-02-03 13:13:25 浏览: 70
random-commands-install-etc:在macOS,Ubuntu和其他平台上安装Spark,Java,Scala和其他软件的步骤
在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` 文件中。
阅读全文