Цикл пока условие не выполнено и запись в файл - PullRequest
0 голосов
/ 27 марта 2019

Я новичок в написании сценариев оболочки ... Я хочу выполнять команду каждые 5 секунд и записывать вывод в файл, который в настоящее время имеет формат json, а затем использовать jq, чтобы прочитать определенный ключ из json и распечатать его на консоли .

Я начал использовать watch, но echo watch -n 5 command > myFile.json, похоже, не создает файл. Есть ли другой способ?

Может ли кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 27 марта 2019

вы можете использовать цикл со сном, например:

while true; do command > myFile.json; sleep 5; done

Обратите внимание, если вы хотите добавить вывод команды в ваш файл json, используйте >> вместо>

Чтобы разорвать цикл на основе условия:

 while :  
 do 
   command > json_file 
   [[ $(jq_command json_file) != "expected_text" ]] || break 
   sleep 5 
 done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...