![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 22.12.2015
Сообщений: 2
|
![]()
Коллеги, добрый день!
Помогите, пожалуйста, начинающему скриптописателю. Итак: Linux CentOS 6, bash Команда для отправки письма в файл выглядит так: /bin/mail -s 'Subject' -F /var/tmp/messages/message01 pupkin@jet.su <<< 'Hello world!!!' Странность заключается в том, что если эту команду выполнить просто из командной строки, то она выполняется просто на ура, письмо появляется в файле. А если эта же строчка в чистом виде в скрипте, то ничего не происходит и не выводится. Я не пойму в чем подстава, подскажите, пожалуйста. PS: остальные команды скрипта выполняются. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
в скрипте какой интерпретатор прописан?(первая строка скрипта)
скорее всего там /bin/sh он не умеет тройной редирект. замените на Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 22.12.2015 в 15:34. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 22.12.2015
Сообщений: 2
|
![]()
Там прописан #!/bin/bash
Но фишка не в этом. Я перепробовал и Ваш вариант тоже. Потом упростил скрипт до одной этой строчки - работает!! Теперь приведу полный скрипт и покажу при наличие каких строк не работает: STDIN=$(cat -) #Скрипт получает параметры из потока. #Далее, он полученные из потока данные УСПЕШНО обрабатывает! SRCMAIL=$(echo $STDIN | sed -n '{s/.*From: //p}' | awk ' {print $1} ') DSTMAIL=$(echo $STDIN | sed -n '{s/.*To: //p}' | awk ' {print $1} ') BODYMAIL=$(echo $STDIN | sed -n '{s/.*base64 //p}' | awk ' {print $1} ') echo $SRCMAIL >> /tmp/tempscript echo $DSTMAIL >> /tmp/tempscript echo $BODYMAIL >> /tmp/tempscript #И теперь, вуаля! не работает моя команда для отправки письма! Если убрать все, что выше, команда работает. Но пока отправка письма ниже НЕ ЗАВИСИТ от кода выше. Вот в чем фишка. /bin/mail -s 'Subject' -F /var/tmp/messages/message01 pupkin@jet.su <<< 'Hello world!!!' |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Функция чтения почтового сообщения на С | Timer1 | Помощь студентам | 3 | 18.04.2014 18:38 |
Функция чтения почтового сообщения на С | Timer1 | Фриланс | 1 | 18.04.2014 18:28 |
Команда grep в bash | CraZZZy-GameRRR | Помощь студентам | 0 | 04.11.2012 21:57 |
Команда System: запуск программы в свёрнутом режиме, Не работает команда /min | Me777 | Общие вопросы C/C++ | 0 | 12.07.2011 11:49 |
Форма отправки сообщения | starichenko | HTML и CSS | 5 | 26.05.2011 14:52 |