Linux 是否可以通过mint自动重启5个循环?

Linux 是否可以通过mint自动重启5个循环?,linux,linux-mint,Linux,Linux Mint,我当前正在使用以下命令运行重新启动 sudo shutdown -r now 但是,在执行其他程序之前和之后,我需要运行它5个循环。想知道是否有可能在MINT环境中执行此操作吗?首先是免责声明:我没有尝试此操作,因为我现在不想重新启动我的机器 无论如何,我们的想法是制作一个脚本,可以像@david-c-rankin建议的那样将其迭代进度跟踪到一个文件中。这个bash脚本可能看起来像这样我测试过这个: #!/bin/sh ITERATIONS="5" TRACKING_FILE="/path

我当前正在使用以下命令运行重新启动

sudo shutdown -r now

但是,在执行其他程序之前和之后,我需要运行它5个循环。想知道是否有可能在MINT环境中执行此操作吗?

首先是免责声明:我没有尝试此操作,因为我现在不想重新启动我的机器

无论如何,我们的想法是制作一个脚本,可以像@david-c-rankin建议的那样将其迭代进度跟踪到一个文件中。这个bash脚本可能看起来像这样我测试过这个:

#!/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
然后在引导时运行该脚本的地方添加对该脚本的调用。例如,cron@reboot或systemd。完成后,不要忘记将其从启动/引导命令中删除,或者下次重新启动时,它将重新启动N次

不确定您计划如何使用它,但一般工作流如下所示:

将脚本保存到/path/to/reboot_five_times.sh 添加脚本以在启动cron上运行,等等。 手动或在脚本中执行操作 调用脚本 计算机重新启动5次 然后运行脚本第二个TODO部分中的任何内容 返回步骤3,或者如果已完成从cron/systemd中删除,则在您不希望它重新启动时,它不会重新启动。
首先创建一个文本文档,我在桌面上创建了一个, 然后将此文件用作物理计数器,并编写一个守护进程文件,以便在启动时运行

例如:

#!/bin/sh
var=$(cat a.txt)
echo "$var"
if [ "$var" != 5 ]
then
    var=$((var+1))
    echo "$var" > a.txt
    echo "restart here"
    sudo shutdown -r now
else
    echo "stop restart"
    echo 0 > a.txt
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

如果重新启动计算机,脚本的其余部分将无法运行。您需要设计一种在重新启动后恢复脚本的方法。我能想到的唯一方法是将当前循环计数写入一个持久文件,而不是像/usr/local/share这样的tmpfs上,以便您可以在重新启动后读取当前循环计数。为什么要重新启动5次还不清楚-这不是windows-您只需要在内核更新、等时重新启动。