Eu não acho que qualquer shell faça nada além do espaço em branco ao armazenar comandos no histórico. O que * expandido não está registrado e parece não haver uma opção para registrá-lo.
Note que não seria possível gravar com toda a generalidade de qualquer maneira. Por exemplo, se você executar a='foo* bar*'; rm $a ( rm $=~a in zsh), é improvável que o shell detecte a correspondência de caractere curinga sintaticamente. E não há opção para registrar todas as expansões glob.
Você poderia remendar algo junto com preexec (ou the bash equivalent ). Primeiro teste não testado (para zsh):
history_wildcards=()
precmd () {
emulate -LR zsh
local n tmp
history -1 | read n tmp
history_wildcards[$(($n+1))]=$=~1
}
Isso preenche o array history_wildcards em uma string com a expansão glob de cada palavra na linha de comando. A divisão de palavras é executada de maneira ingênua, então algo como echo ' /**/* ' expandirá /**/* (ou seja, percorra seu disco). Não espere nada útil em cd subdir && echo * ou em algo tão incompreensível.
Se você planeja de antemão, você pode fazer zsh expandir os curingas antes de enviar o comando. Na configuração padrão, basta pressionar Tab quando o cursor estiver no glob. Se você configurou a conclusão de forma diferente, tente ^X * ( expand-word ).