Изменить sendmail cron по умолчанию на mail

Вы можете попробовать команду tr .

Вот сценарий:

#!/bin/bash
value=alex,raj,kaly,rema
echo $value | tr ',' ' '

Вот результат:

bash bash.sh 
alex raj kaly rema
2
05.04.2017, 01:54
2 ответа

cron по умолчанию использует значение общесистемного макроса _PATH_SENDMAIL в качестве расширения MAILCMD, команды для отправки сгенерированных сообщений по рабочим местам. Чтобы использовать другую почтовую программу, вам необходимо изменить Makefile, чтобы определить соответствующие значения для макросов MAILCMD и MAILARGS.Makefile в дереве исходного кода включает закомментированные определения, иллюстрирующие возможные значения, но, похоже, есть небольшая ошибка в макросе MAILARGS, который применяется, когда MAILCMD определяется как /bin. /mail — имеет два расширения строки, но получает только одну строку при вызове, поэтому в патче в сути я удалил первое из расширений.

Если у вас установлена ​​утилита patch (она есть в портах, если нет), примените этот патч (относительно /usr/src/usr.sbin/cron ) и соберите/установите cron:

% cd /usr/src/usr.sbin/cron
% make 
% make install

Перезапустите cron, теперь вы должны использовать /bin/mail. Н.Б. эта исправленная версия корректно строится в моей системе (11-STABLE), но я не пробовал использовать ее вместо версии по умолчанию. Помните, что вам, вероятно, придется сделать это снова при обновлении, поскольку FreeBSD по умолчанию использует /usr/lib/sendmail.

3
27.01.2020, 21:59

Фактический путь, используемый cron - /usr/sbin/sendmail, который определен в /usr/include/paths.h. Обычно это символическая ссылка на mailwrapper(8).

Вы можете изменить поведение по умолчанию для всех приложений, изменив /etc/mail/mailer.conf. Подробнее см. в mailer.conf(5).

Конечно, ваш /bin/mail должен иметь схожую семантику с sendmail, и вы должны быть готовы изменить поведение по умолчанию для sendmail во всей системе.

2
27.01.2020, 21:59

Теги

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