Сервис sms.ru . При выполнении команды
curl -d "msg=TEXT" https://sms.ru/sms/send\?api_id=MY_ID\&to=PHONE
( где TEXT- текст sms, который отправляется на телефон, MY_ID- ID клиента в сервисе, PHONE - номер телефона, на который отправляется sms ) сервис возвращает при каждой отправке sms в терминал служебную информацию о статусе отправки, балансе клиента и т.п. - каждый раз три строки без перевода последней строки, (вот что получается например после двух смс):
100
201830-1000001
balance=8.13100
201830-1000001
balance=8.13
у меня на удаленном сервере включен бесконечный скрипт, который отслеживает текущее состояние и при наступлении определенных обстоятельств завершает каждый цикл выполнением вышеуказанной команды и я получаю sms с нужным кодом. Меня не устраивает, что ответы копятся, собственно они мне вообще не нужны там. Как сделать так, чтобы команда выполнялась, но мне в терминал ничего не возвращалось, ну или чтобы возврат был подавлен или как-то невидим?
Ответ
Вечер добрый
if [[ ваше условие ]]; then
# если нужно сделать невидимым по условию
curl -d "msg=TEXT" https://sms.ru/sms/send\?api_id=MY_ID\&to=PHONE &> /dev/null
fi
Если речь идет о *nix и bash оболочке (не указано) stderr и stdout будут перенаправлены в "черную дыру" и не будут захламлять терминал.
Небольшое замечание, вы ничего не "захламляете" если пишите в stdout, вот если пишите в файл то да - используете какое то физическое-виртуальное пространство вашего удаленного сервера
Встречный вопросы:
скрипт написан на чем? bash/perl/python...
знакомы ли вы с: /dev/null, >, <, 2 > /dev/null, & > /dev/null
Комментариев нет:
Отправить комментарий