Есть ли способ прикрепить файл в команде sendmail без использования uuencode

Когда переменная sizesпуста, она будет заменена пустой строкой, как и ожидалось. И в соответствующей части скрипта awkпредполагается, что любая строка, начинающаяся с косой черты, будет началом регулярного выражения, но это действительное регулярное выражение, только если оно заканчивается другой косой чертой. Вы должны убедиться, что sizesне пусто, чтобы скрипт работал.

set -o nounsetдля получения уведомлений о неопределенных (непустых )переменных в ваших скриптах и ​​в сочетании с -o errexitдля остановки скрипта при таких ошибках.

0
26.02.2020, 13:38
1 ответ

В Red Hat команды uuencodeи uudecodeпоставляются с пакетом sharutils.

В Red Hat Enterprise Linux 4 установите этот пакет с помощью команды up2date.

up2date sharutils

В Red Hat Enterprise Linux 5, Red Hat Enterprise Linux 6 и Red Hat Enterprise Linux 7 установите этот пакет с помощью команды yum.

yum install sharutils

Источник:Какой пакет rpm предоставляет команды "uuencode" и "uudecode"? .

РЕДАКТИРОВАТЬ:

Если цель состоит в том, чтобы отправить электронное письмо с текстовым/простым вложенным файлом, я предлагаю ввести следующие команды:

fileToAttach=cpu_usage.log

(printf "To: XXXXXX@gmail.com\n"
 printf "From: XXXXXX@gmail.com\n"
 printf "MIME-Version: 1.0\n"
 printf "Content-Type: text/plain; charset=\"US-ASCII\"\n"
 printf "Content-Transfer-Encoding: 7bit\n"
 printf "Subject: Issue with CPU\n\n"
 printf "echo  Issue with CPU\n"
 cat "$fileToAttach" 
 )| /usr/sbin/sendmail -t 

Как упоминалось в комментарии @AnFi , это решение предоставляет пустую строку для отделения заголовков электронной почты от тела электронной почты.

2
28.04.2021, 23:22

Теги

Похожие вопросы