我正在使用bash脚本编写Raspberry Pi,我想知道是否可以确定RPi重启的次数。关键是我的程序正在做一些事情,如果我重新启动3次,它就会开始做其他事情。
我已经找到了https://unix.stackexchange.com/questions/131888/is-there-a-way-to-tell-how-many-times-my-computer-has-rebooted-in-a-24-hour-peri 但问题是它给了我一个无法轻易修改的数字。
有什么想法吗?
答案 0 :(得分:1)
感谢您的澄清。
last reboot | grep ^reboot | wc -l
这是你的系统重启的次数。由于您的程序不会“重启”,我认为您需要重启的次数,因为您的程序是第一次运行。因此,您希望第一次存储重新启动次数,然后重新读取(第一次和后续)启动:
if [[ ! -e ~/.reboots ]]
then
echo $(last reboot | grep ^reboot | wc -l) > ~/.reboots
fi
INITIAL_REBOOTS=$(cat ~/.reboots)
# Now you can check if the *current* number of reboots
# is larger than the *initial* number by three or more:
REBOOTS=$(last reboot | grep ^reboot | wc -l)
if [[ $(expr $REBOOTS - $INITIAL_REBOOTS) -ge 3 ]]
then
echo "Three or more reboots"
else
echo "Less than three reboots"
fi
以上缺乏各种技巧和错误检查(例如,如果有人篡改了~/.reboots
),但仅作为概念证明。