#!/bin/sh
ITERATIONS="5"
TRACKING_FILE="/path/to/bootloop.txt"
touch "$TRACKING_FILE"
N=$(cat "$TRACKING_FILE" | wc -c)
if [ "$N" -lt "$ITERATIONS" ]; then
printf "." >> "$TRACKING_FILE"
echo "rebooting (iteration $N)"
# TODO: this is where you put the reboot command
# and anything you want to run before rebooting each time
else
rm "$TRACKING_FILE"
# TODO: other commands to resume anything required
fi
#!/bin/bash
#testing making a startup application
echo "
[Desktop Entry]
Type=Application
Exec=notify-send success
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_CA]=This is a Test
Name=This is a Test
Comment[en_CA]=
Comment=" > ~/.config/autostart/test.desktop
4条答案
按热度按时间ep6jt1vc1#
先声明一句:我还没有尝试过,因为我现在不想重新启动计算机...
无论如何,我们的想法是创建一个脚本,它可以跟踪它的迭代进度到一个文件,就像@david-c-兰金建议的那样。这个bash脚本可以看起来像这样(我确实测试了这个):
然后在 Boot 时运行该脚本的地方添加一个调用。例如cron(@reboot)或systemd。当您完成或下次重新启动时,不要忘记将其从startup/boot命令中删除,它将重新启动N次。
不确定您计划如何使用它,但一般工作流程如下所示:
1.将脚本保存到
/path/to/reboot_five_times.sh
1.添加 Boot 时运行脚本(cron等)
1.执行操作(手动或在脚本中)
1.调用脚本
1.计算机重新启动5次
1.然后运行脚本的第二个TODO部分中的任何内容
1.返回到第3步,或者如果完成了,从cron/systemd中删除,这样它就不会在您不希望它重新启动时重新启动。
ckocjqey2#
首先创建一个文本文档,我在桌面上创建了一个,然后使用这个文件作为一个物理计数器,并编写一个守护程序文件来运行启动时的东西
例如:
希望这对你有帮助
0lvr5msh3#
我找到了一种方法,在启动时为我的重启脚本创建一个文件。我将它与swalladge和shubh提供的答案结合在一起。非常感谢!
dm7nw8vv4#
我创建了一个
/etc/rc.local
文件来执行user3089519的脚本,这适用于我的情况。(对于bootloop.txt,我将它放在这里:(单位:/usr/local/share/bootloop.txt
)第一个:
sudo nano /etc/rc.local
然后编辑:
那就成功了。
不要忘记编辑
/etc/rc.local
和删除/path/to/reboot_five_times.sh
时,你完成了重新启动循环。