linux系统 shell获取当前系统时间与上次获取系统时间作比较
时间: 2023-08-18 09:07:50 浏览: 164
你可以使用`date`命令获取当前系统时间,将其存储到一个变量中。然后在下一次获取系统时间时,将两个时间进行比较。
以下是获取当前系统时间并与上次获取时间作比较的示例代码:
```
#!/bin/bash
# 获取当前系统时间
current_time=$(date +%s)
# 如果之前没有记录时间,则直接记录当前时间并退出
if [ ! -f last_time.txt ]; then
echo $current_time > last_time.txt
exit 0
fi
# 读取上次记录的时间
last_time=$(cat last_time.txt)
# 计算时间差
time_diff=$((current_time - last_time))
# 输出时间差
echo "距离上次获取系统时间已过去 $time_diff 秒"
# 更新上次记录的时间
echo $current_time > last_time.txt
```
该脚本会检查是否存在一个名为`last_time.txt`的文件,如果没有则创建该文件并记录当前系统时间。如果文件已经存在,则读取上次记录的时间,并计算当前时间与上次记录时间的时间差。最后,该脚本会更新上次记录的时间。
相关问题
在Linux下编写一段shell脚本,实现后台每10分钟检测一次/home下的内容,如果有新文件,调用系统闹钟提醒
#!/bin/bash
# 设置闹钟提醒函数
function alarm {
echo "New files detected in /home!" | wall
# 在这里设置闹钟提醒命令,比如:
# echo "New files detected in /home!" | wall && sleep 10 && beep
}
# 获取当前/home目录下的文件列表
files=$(ls /home)
# 初始化变量,记录上次检测时的文件列表
prev_files=$files
while true; do
# 等待10分钟
sleep 600
# 再次获取当前/home目录下的文件列表
files=$(ls /home)
# 比较上次检测时的文件列表和当前文件列表,如果不同则调用闹钟提醒函数
if [ "$prev_files" != "$files" ]; then
alarm
fi
# 更新上次检测时的文件列表
prev_files=$files
done
# 注意:这段脚本应该在后台运行,可以使用 nohup 命令运行,比如:
# nohup ./check_home.sh &
阅读全文