Para escapar dos sinais de porcentagem, duplique-os:
tar -czf dirname_$(date '+%%Y%%m%%d').tar.gz %d
O exemplo acima comprimiria o diretório atual (% d) para um arquivo também no diretório atual. Se você quiser compactar o diretório apontado pelo cursor em vez do diretório atual, use% f em vez disso:
tar -czf %f_$(date '+%%Y%%m%%d').tar.gz %f
mc
manipula o escape de caracteres especiais, portanto, não é necessário colocar% f entre aspas.
A propósito, o tratamento especial dos sinais de porcentagem do comandante da meia-noite ocorre não apenas no arquivo de menu do usuário, mas também na linha de comando. Esse é um problema ao usar comandos shell com construções como ${var%.c}
. Na linha de comando, o mesmo que no arquivo do menu do usuário, os sinais de porcentagem podem ser ignorados, dobrando-os.