У меня есть сценарий, где я пытаюсь сделать снимок экрана каждую секунду в течение 60 секунд и сохранять файлы как date/time.jpg однако он создает только один файл, как мне сделать время обновлять внутри цикла while?Incrementing filename in while loop
#!/bin/bash
now=$(date +"%d%m%Y-%H%M%S")
DISPLAY=:1 firefox http://www.bbc.co.uk > /dev/null 2>&1 &
SECONDS=0;
while sleep 1 && ((SECONDS <= 60)); do
DISPLAY=:1 import -window root $now.jpg
done
выходы
+ SECONDS=0
+ sleep 1
+ DISPLAY=:1
+ firefox http://www.bbc.co.uk
+ ((SECONDS <= 60))
+ DISPLAY=:1
+ import -window root -resize 1024x768 29092015-144315.jpg
+ sleep 1
+ ((SECONDS <= 60))
+ DISPLAY=:1
+ import -window root -resize 1024x768 29092015-144315.jpg
+ sleep 1
+ ((SECONDS <= 60))
+ DISPLAY=:1
+ import -window root -resize 1024x768 29092015-144315.jpg
+ sleep 1
Кроме того, вместо того, чтобы использовать время в качестве имени файла Я не возражаю, используя увеличивающееся значение т.е. 1.jpg 2.jpg 3.jpg 4.jpg
Попробуйте с двигающимся второй строчкой в в то время как блок – Kadir
Вторая строка открывает firefox для bbc.co.uk Я только хочу загрузить его один раз и захватить secreenshot каждую секунду. – Lurch
Я имею в виду ** now = $ (date + "% d% m% Y-% H% M% S") ** statement – Kadir