Heirloom-mailx e salvando na pasta IMAP com espaços

3

Se eu tentar salvar em uma mensagem em uma pasta IMAP com o comando save 1 +FOLDER/"Folder withSpaces" em heirloom-mailx, em vez de salvar, mailx exibirá No applicable messages from {Folder/"Folder, withSpaces"} . Para pastas sem espaços, ele anexa com êxito a mensagem à pasta, conforme desejado. Alguém pode me oferecer uma pista sobre o porquê disso, para que eu possa consertar isso? Eu pesquisei, mas não consegui encontrar uma resposta. Obrigado!

    
por Sara Fauzia 14.06.2011 / 08:51

2 respostas

1

Para citar a página de manual do mailx :

  • An argument can be enclosed between paired double-quotes "" or single-quotes ''; any white space, shell word expansion, or backslash characters within the quotes are treated literally as part of the argument. A double-quote will be treated literally within single-quotes and vice versa. These special properties of the quote marks occur only when they are paired at the beginning and end of the argument. [emphasis added]

Assim, as citações no meio de um argumento não funcionam (ao contrário da maioria das shells). Mas você também não pode dizer "+FOLDER/Folder withSpaces" , porque a manpage também diz:

  • If the filename begins with an unquoted plus sign, and the folder variable is defined, the plus sign will be replaced by the value of the folder variable followed by a slash. [emphasis added]

Então, se você usar aspas, o + não será mais especial. Você terá que voltar para a barra invertida que está escapando:

save 1 +FOLDER/Folder\ withSpaces

deve funcionar. (Na verdade, não tenho certeza que "+FOLDER/Folder withSpaces" não funcionará; você pode tentar apenas para ver se interpretei mal a página do manual.)

Você pode renomear a pasta, digamos, para Folder_withUnderscore ou Folder-withHyphen .

    
por 15.06.2011 / 00:30
0

Olhando mais para a página do mailx, notei o comando shortcut , que realiza exatamente o que eu queria. Fiz um atalho para a pasta "Todos os e-mails" no Gmail, por exemplo shortcut all "+[Gmail]/All Mail" e, em seguida, save 1 all acrescenta a mensagem à pasta "Todos os e-mails", conforme desejado.

    
por 10.01.2012 / 22:39