Как использовать команду expandos в команде backtick shell

В моем .muttrc меня есть attribution предназначенная для эмуляции сообщения в стиле Outlook, которое выглядит следующим образом:

 set attribution="\n\n-----Original Message-----\nFrom: %f\nSent: %d\n%t\nSubject: %s\n" 

Тем не менее, %t expando оценивает значение «To Persons_Name» без двоеточия после «To», поэтому я хотел бы запустить его через команду оболочки, чтобы добавить двоеточие. Я могу использовать backticks для запуска команды оболочки, но я не могу понять, как получить значение %t expando в команде оболочки. Я пробовал это, но он не работает:

 set attribution="\n\n-----Original Message-----\nFrom: %f\nSent: %d\n`echo %t | sed s/^To/To:/`\nSubject: %s\n" 

One Solution collect form web for “Как использовать команду expandos в команде backtick shell”

Команды оболочки выполняются при чтении настроек конфигурации, а не каждый раз, когда вы отвечаете. Вы можете видеть, что, введя

  set attribution="Date: `date`" 

Это никогда не меняется. И, разумеется, в этот момент расширения не расширяются.

Есть способ: если вы закончите строку с | , mutt предполагает, что это команда, и просто выполняет ее и использует свой вывод (в документации говорится, что она передает аргументы через первое слово, но это ложь).

Проблема в том, что нет никакой команды unix (которая я знаю), которая применяет регулярное выражение к его аргументам и выводит результат. sed , например, работает только с файлами или stdin.

Вы должны сами создать эту команду. В Perl это было бы примерно так:

 #!/usr/bin/perl my $regexp = shift; my @out; for (@ARGV) { eval $regexp; push @out, $_; } print join " ", @out; 

Предположим, вы положили это на свой путь и r.pl его r.pl (не забудьте chmod-x it), тогда вы можете установить свою атрибуцию таким образом:

 set attribution="r.pl 's/^To /To: /m' 'From: %n\n%t\netc...\n'|" 

Взгляните на man perlre чтобы узнать, почему вам нужно закончить регулярное выражение с помощью /m .

НТН.

  • Как я могу использовать апостроф в методе отправки для mutt?
  • Поиск в mutt по дате и времени
  • Как действительно легко сохранить все помеченные вложения в mutt?
  • Сортировка писем по времени в mutt
  • Как связать <Control> <Arrowkey> в Mutt?
  • Получение почтовых свойств текущей выбранной почты
  • Показать идентификационный номер сообщения для письма
  • Как переключить почтовые ящики в mutt?
  • выделите текущий поток в mutt, но не в режиме потока
  • Как удалить сообщения, заданные диапазоном номеров?
  • сортировка потоков в mutt
  • Могу ли я переименовать или переименовать папку, отображаемую в mutt?
  • Interesting Posts

    Установка .NET на RedHat

    Как генерируются заголовки электронной почты?

    Дублирование панели xfce на нескольких мониторах

    Как сохранить пространство в литеральном выражении в значении массива в bash и как обрезать результаты из команды sort?

    Как работают $ {0 ## *} и $ {0% / *}?

    Как изменить корневой каталог TFTP

    Консольный инструмент для проверки пропускной способности интернета

    dconf не работает при запуске приложения X от другого пользователя

    Как предотвратить «Сообщения ядра были потеряны, так как система журнала не смогла обработать их достаточно быстро»?

    Невозможно использовать bonnie ++ для измерения производительности ввода / вывода

    Как мне управлять CentOS для долгосрочного использования продукции?

    Генератор паролей случайных CLI-файлов Bash Linux и `<`

    Использование TCP_DEFER_ACCEPT в реальном мире?

    Отладка сценария оболочки

    Что замедляет мой вход в ssh?

    Linux и Unix - лучшая ОС в мире.