Как я могу читать по одному сообщению из /var/mail

Обязательно укажите путь в качестве аргумента скрипта, так как $1— это первый аргумент скрипта.

Если вы хотите, чтобы путь и имя скрипта (были полным путем к скрипту, например /path/to/crtMQdir.ksh), вместо этого вам нужно использовать $0.

Вам также необходимо убедиться, что ваш kshскрипт имеет права на выполнение:chmod +x /path/to/crtMQdir.ksh

Альтернативный способ, если вы хотите запустить его из текущего каталога, состоит в том, чтобы просто заменить $1на $PWDв вашем текущем скрипте. Если вы хотите, чтобы он использовал тот же каталог, что и для этого скрипта, вы также можете использовать $(dirname $0)вместо $1.

4
09.08.2019, 21:58
1 ответ

Инструментformailиз procmail (, доступный в любом дистрибутиве, это классический ), предназначенный именно для этой цели.

Основное использование:

formail -s myprogram --option

запускает myprogram --optionдля каждого письма по очереди. Программа получает каждое письмо на свой стандартный ввод.

10
27.01.2020, 20:48

Теги

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