是否可以通过薄荷自动重启5个循环?

时间:2018-07-12 08:21:49

标签: linux linuxmint mint

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

sudo shutdown -r now

但是,我需要在执行其他一些程序之前和之后将其运行5个循环。想知道是否可以在MINT环境中做到这一点?

3 个答案:

答案 0 :(得分:1)

首先免责声明:我没有尝试过此操作,因为我现在不想重启计算机...

无论如何,这个想法是按照@ 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次。

不确定确切的使用方式,但是一般的工作流程如下:

  1. 将脚本保存到/path/to/reboot_five_times.sh
  2. 添加脚本以在启动时运行(cron等)
  3. 做事(手动或脚本执行)
  4. 调用脚本
  5. 计算机重新启动5次
  6. 然后运行脚本第二个TODO部分中的任何内容
  7. 返回第3步,或者如果已完成,请从cron / systemd中删除,以便在您不希望它重启时不会重新启动。

答案 1 :(得分:1)

首先在任意位置创建一个文本文档,然后在桌面上创建一个文本文档, 然后将此文件用作物理计数器并编写一个守护程序文件以在启动时运行事物

例如:

#!/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

希望这会有所帮助

答案 2 :(得分:0)

我找到了一种在启动时为重启脚本创建文件的方法。我将它与swalladge和shubh提供的答案结合在一起。非常感谢!

#!/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