Почему этот цикл while не выполняется после первого цикла? - PullRequest
2 голосов
/ 02 июля 2019

Мне нужен скрипт для создания скриншота каждые х секунд. В коде я использую сенсорный для простоты.

Когда я запускаю код, запускается первое касание (скриншот 1) и создается файл. Но после ожидания в течение 5 секунд, он отображает скриншот 2, но касание не запускается. Потому что файл не создан. Я понятия не имею, почему это так.

#!/usr/bin/env bash
file=$(date +%Y-%m-%d.%H:%M:%S)    
x=1    
while true
do    
  echo "screenshot $x"    
  touch $file.jpg    
  sleep 1      
  x=$[$x+1]    
done

1 Ответ

5 голосов
/ 02 июля 2019

Вы должны назначать $ {file} каждый раз при запуске цикла!Вы назначаете его вне цикла, поэтому вы каждый раз прикасаетесь к одному и тому же имени!Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...