shell 写一个while循环语句,每隔n秒钟(shell变量可配置)输出当前时间(精确到毫秒)+脚本已执行
时间: 2023-02-08 13:15:54 浏览: 116
可以使用以下语句编写脚本:
```
#!/bin/bash
# 设置每次循环间隔时间
interval=5
while true
do
# 输出当前时间,精确到毫秒
date +%s%3N
# 打印执行信息
echo "脚本已执行"
# 暂停 $interval 秒
sleep $interval
done
```
第一行 `#!/bin/bash` 用于指定脚本使用 bash 程序来执行。
第3行设置了循环间隔时间(5s)。
第5行使用了 while true 循环, 表示无限循环。
第6行使用 date 命令输出当前时间, %s%3N表示秒后面加上毫秒。
第8行使用 echo 命令输出执行信息。
第9行使用 sleep 命令停顿指定时间(5s)
相关问题
shell写一个while循环语句,每隔n秒钟(shell变量可配置)输出当前时间(精确到毫秒,格式2022-01-01 23:00:00.000)和脚本已执行(同一行输出)
可以使用如下的代码实现:
```
#!/bin/bash
n=5 # 设置循环间隔时间为5秒
i=0 # 设置脚本已执行次数的计数器
while true; do
i=$((i+1)) # 每次循环累加1
now=$(date +"%Y-%m-%d %H:%M:%S.%3N") # 获取当前时间,精确到毫秒
echo -e "$now \t已执行次数: $i" # 输出当前时间和已执行次数
sleep $n # 等待 $n 秒
done
```
说明:
- `date` 命令用于获取当前时间, 通过格式化字符串 `%Y-%m-%d %H:%M:%S.%3N` 可以输出日期和时间, 并精确到毫秒.
- `echo -e` 命令用于输出字符串, `-e` 选项可以支持转义字符
- `sleep` 命令用于等待一段时间,单位秒
- `while true; do` 是一个无限循环,在每次循环中都会输出当前时间和已执行次数,直到脚本被终止
运行这个脚本,每隔n秒钟就会输出当前时间和已执行次数
注意:这个脚本需要在linux系统上运行。
阅读全文