Não muito legal, mas em bash
isso funciona:
echo !!$\
:someothertext
Eu tenho um comando como:
echo test
Agora eu quero usar o último parâmetro dentro de outro comando com extensão de histórico dentro de um zsh. Meu outro comando tem um cólon ":" inicial, então eu quero um resultado de:
echo test:someothertext
E eu tento com extensão de histórico do bash do linux como o seguinte:
echo !!$:someothertext
O: s será interpretado como um modificador e o resultado é:
echo testsomeothertext
Então, o cólon necessário está faltando.
O cenário real é mais útil e usa comandos git (git show branch: file), mas esse exemplo de eco é mais fácil de reproduzir em cada sistema.
Eu já tentei usar "\" como um escape para os dois pontos que não funcionam ("\" também é impresso no resultado) E eu tentei usar um modificador válido para que o segundo cólon não fosse interpretado, mas também não funcionaria.
Então eu tentei isso:
echo !!$:p:someothertext
que resulta em:
zsh: substitution failed
Não muito legal, mas em bash
isso funciona:
echo !!$\
:someothertext
Você sempre pode usar:
echo !!$':moretext'
Ou:
echo !!$'':moretext
Ou:
echo $_:moretext