Обязательно укажите путь в качестве аргумента скрипта, так как $1
— это первый аргумент скрипта.
Если вы хотите, чтобы путь и имя скрипта (были полным путем к скрипту, например /path/to/crtMQdir.ksh
), вместо этого вам нужно использовать $0
.
Вам также необходимо убедиться, что ваш ksh
скрипт имеет права на выполнение:chmod +x /path/to/crtMQdir.ksh
Альтернативный способ, если вы хотите запустить его из текущего каталога, состоит в том, чтобы просто заменить $1
на $PWD
в вашем текущем скрипте. Если вы хотите, чтобы он использовал тот же каталог, что и для этого скрипта, вы также можете использовать $(dirname $0)
вместо $1
.
Инструментformail
из procmail (, доступный в любом дистрибутиве, это классический ), предназначенный именно для этой цели.
Основное использование:
formail -s myprogram --option
запускает myprogram --option
для каждого письма по очереди. Программа получает каждое письмо на свой стандартный ввод.