Рейтинг:0

mailutils в сценарии по сравнению с командной строкой

флаг br

Следующее отлично работает, как и ожидалось, из командной строки:

mail < /home/incoming/mailprocoutput.txt -s "Результаты обработки сообщений..." -r [email protected] [email protected]

cat filename pipe mail и т. д. также отлично работает в командной строке. Но любой метод приводит к пустому телу сообщения при использовании в сценарии оболочки:

#!/бин/баш
# Это для отправки письма из python скрипта mailproc с результатами обработки сообщения

метка времени=$(дата +%T)
curDate=$(дата +"%m-%d-%y")

logger "Mailproc запущен в $timestamp в $curDate, отправив ответ обратно создателю..."

mail < /home/incoming/mailprocoutput.txt -s "Результаты обработки сообщений..." -r [email protected] [email protected]

выход

Что я делаю не так? Ubuntu 18.04, GNU mailutils версии 3.4

FedKad avatar
флаг cn
Командная строка и скрипт запускаются от *одного и того же пользователя*? Получаете ли вы какие-либо выходные данные _stderr_ из сценария?
waltinator avatar
флаг it
Всегда вставляйте свой скрипт в `https://shellcheck.net`, средство проверки синтаксиса или устанавливайте `shellcheck` локально. Сделайте использование `shellcheck` частью вашего процесса разработки.
waltinator avatar
флаг it
Вы запускаете скрипт при запуске системы через cron, at или пакетный режим? Посмотрите на результаты `echo "=== id ===";id;echo"=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";alias` в каждой из ваших сред.
alabamatoy avatar
флаг br
@FedKad, очевидно, это действительно проблема пользователя. Сценарий запускается под входящим пользователем, и действительно, командная строка cat-to-pipe-to-mail не работает для этого пользователя, но работает для root. Итак, у меня проблема с правами пользователя.
alabamatoy avatar
флаг br
su имя пользователя, затем попытка файла cat, и я ничего не получаю. файл 0644 имя пользователя:имя пользователя Итак, есть ли что-то, что я должен сделать, чтобы позволить пользователю иметь права на то, что показано как принадлежащее этому пользователю? Я сбит с толку.
FedKad avatar
флаг cn
Я бы перенаправил вывод `stderr` _всего скрипта_ в какое-нибудь доступное для записи место, например `2>/tmp/mymail.err`, чтобы посмотреть, в чем заключается ошибка.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.