Сценарий продолжит если, что он проверяет на изменения?

У меня есть вопрос об этом. У меня есть он как программа запуска.

Если загрузка закончится, или я удаляю .part файлы, то сценарий затем приостановит?

 for file in /home/andy/Downloads/*.part ; do
        if [[ -f $file ]]; then
            echo "File download in progress."
            echo "Computer can not suspend until download is complete."
            echo "Now exiting."
            sleep 2 
            break
        fi
    done

    echo "This script will suspend computer in 5 minutes if there is no mouse or keyboard activity."
    while :; do
      if (( $(xprintidle) >= 300000 )); then
        systemctl suspend
    fi
      sleep 0.5
    done

26.03.19 18:00 я попробовал код на основе ответа Sergiy и получил ошибку:

line 5: [: too many arguments

Код

#!/bin/bash
old=$(du -sh /home/andy/Downloads/myfile.iso)
while true; do
    new=$(du -sh /home/andy/Downloads/myfile.iso)
    if [ $old -eq $new  ] ; 
    then
        break
    fi
    old=$new
    xdotool getactivewindow key Ctrl
    sleep 5
done

line 5: [: too many arguments
1
задан 27 March 2019 в 02:07

1 ответ

Сценарий все еще позволит, чтобы компьютер приостановил, потому что for цикл не отправляет сигнала на GUI и не генерирует события GUI.

Что я делаю иногда находка файл, который я загружаю и монитор, если его размер изменяется, одновременно выпуская пресс-мероприятие клавиши Ctrl с xdotool. Другими словами, это могло быть чем-то как

old=$(du -sh ~/Downloads/myfile.iso)
while true; do
    new=$(du -sh ~/Downloads/myfile.iso)
    if [ $old -eq $new  ] ; then
        break
    fi
    old=$new
    xdotool getactivewindow key Ctrl
    sleep 5
done

Что касается второго цикла в Вашем сценарии, это в порядке.

0
ответ дан 7 December 2019 в 20:56

Другие вопросы по тегам:

Похожие вопросы: