В цикле bash скрипта, как мне закончить команду, чтобы продолжить цикл?

51
5

вот пример моего кода:

#!/bin/bash

while true; do

wget www.website.com/picture.jpg

qiv picture.jpg --command -blah -blah -blah

sleep 600

done

Мой вопрос: как я могу убить qiv? Для тех, кто незнаком, qiv показывает изображение в полноэкранном режиме. Поэтому этот скрипт не перемещается, пока qiv не будет (вручную), но я хочу, чтобы это автоматическое! Для тех, кто задается вопросом, это для цифровой фоторамки, которая выводит изображения из сети. Мой полный скрипт работает, но мне нужно вручную нажать [ESC], чтобы сценарий мог прогрессировать. Я уверен, что есть простая команда для этого, и если нет, не могли бы вы объяснить какие-либо аргументы/команды, поскольку, к сожалению, я не очень разбираюсь в сценарии bash.

Спасибо, что нашли время, чтобы прочитать это, и спасибо за любую помощь!

спросил(а) 2013-11-17T04:58:00+04:00 6 лет, 4 месяца назад
1
Решение
51

Если все остальное не удается:

while true; do

wget www.website.com/picture.jpg

killall -9 qiv #<- kill backgrounded qiv

qiv picture.jpg --command -blah -blah -blah & #<- backgrounding new qiv

sleep 600

done

ответил(а) 2013-11-17T08:21:00+04:00 6 лет, 4 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема