Я пытаюсь выполнить следующий цикл внутри моего скрипта, чтобы отправить почту всем пользователям в определенном файле, который я записал ранее в скрипте.Я проверяю, является ли файл $ eUsers не пустым, я выполняю следующее:
for name in `cat $eUsers | cut -d' ' -f2`
do
echo "message" > /letter
cat /letter | mail -s "message" $name
done
- В начале сценария я определяю $ eUsers = "/filename".
- код:
cat $eUsers | cut -d' ' -f2
возвращает имя пользователя.Я попробовал это в терминале, и это работает.Я попытался поместить приведенный выше код в отдельный файл и заменил «$ eUsers» его путем (/ filename), и он работал без каких-либо проблем.
Однако, когда я использую этот код в своем скрипте, после записи в файл $ eUsers он входит в бесконечный цикл.Я не понимаю, почему это так.В исходном файле кажется, что бесконечный цикл происходит из-за строки cat /letter | mail -s "message" $name
.