Pipling STDOUT, чтобы скрипт не активировал скрипт

Я пытаюсь передать стандартный поток вывода из сценария в сценарий bash, который отправляет POST с информацией curl.

Вот как выглядит команда:

rtl_fm -g 100 -d 3 -s 22050 -f ${pager_freq} - | multimon-ng -q -f alpha -a POCSAG512 -t raw - | tee page-upload.sh

Когда я просто передаю скрипту текст, который похож на вывод, скрипт работает как положено:

echo "POCSAG512: Address: 1210001  Function: 0  Alpha:   P121 TO REPLACE UNIT P116<LF>IN STATION 116<LF>6825 TOMKEN RD<LF>2017/09/11  17:23:50<EOT>"|page-upload.sh

Я попытался сделать curl сразу после эхо или внутри скриптов bash и даже php, но по какой-то причине не радости.

Какие-нибудь мысли?

1

Решение

Вы используете tee неправильный путь. tee пишет в файл, он не вызывает скрипт. Может быть, вы имеете в виду что-то вроде этого

rtl_fm -g 100 -d 3 -s 22050 -f ${pager_freq} - | multimon-ng -q -f alpha -a POCSAG512 -t raw - | tee upload.log | page-upload.sh
0

Другие решения

Мне удалось выяснить, что проблема была связана с тем, как приложение multimon-ng выводило стандартный вывод. Не вдаваясь в сорняки, вот как я это исправил в своем скрипте bash, вставив оператор while:

пока читаешь сообщение
делать
локон https://www.example.com/text_reciever.php -X POST —data-urlencode «$ message» выполнено

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector