Это - самый чистый способ сделать то, что Вы хотите:
mutt admin@example.org -a <(mysqldump mysqldumpoptions)
<()
оператор - то, что Вы просили; это создает FIFO (или/dev/fd) и разветвляет процесс и подключает stdout к FIFO. >()
делает то же, кроме подключений stdin к FIFO вместо этого. Другими словами, это делает весь материал mknod для Вас негласно; или на современной ОС, делает это еще лучшим способом.
Кроме, конечно, это не работает с дураком, это говорит:
/dev/fd/63: unable to attach file.
Я подозреваю, что проблема состоит в том, что дурак пытается искать в файле, который Вы не можете сделать на канале никакого вида. Поиск - вероятно, что-то как сканирование файла для выяснения, какой тип MIME это и какая кодировка могла бы работать (т.е., является ли файл 7 битами или 8 битами), и затем ищущий на начало файла на самом деле закодировать это в сообщение.
Если то, что Вы хотите отправить, является простым текстом, Вы могли всегда делать что-то вроде этого для создания его основным содержанием электронной почты вместо этого (не идеальный, но он на самом деле работает):
mysqldump mysqldumpoptions | mutt -s "Here's that mysqldump" admin@example.org
Я обнаружил то, что продолжалось здесь. Я не упомянул в своем вопросе, что основная папка для обоих из веб-сайтов выше была тем же - два различных домена размещают те же приложения друг как друг, у них просто есть различные белые маркировки. Я не понял, что они переписывают правила, были сохранены путем записи им в web.config - вместо этого, я думал, что они были сохранены в некотором другом файле конфигурации IIS7, независимом от самого сайта. Так, так как они совместно используют основные папки, они совместно использовали webconfigs, который означал, что они совместно использовали правила.