Você pode conseguir isso adicionando a seguinte pequena função (eu chamo de ??
para ser muito simples, mas você pode mudar isso como quiser) no seu arquivo .bashrc
:
?? () { "${@,,}"; }
Em seguida, quando você executará:
?? !!
o último comando será executado com todas as letras em minúsculas.
Explicação
-
!!
: isso faz parte das ferramentas de histórico do bash, especificamente, expande para o último comando correr . Portanto, por exemplo,echo !!
imprimirá o último comando executado nesta sessão de shell específica. -
"${@,,}
: A construção${foo,,}
converterá o conteúdo do a variável$foo
convertida em todas as letras minúsculas.$@
é a matriz de parâmetros posicionais. Quando usado dentro de uma função, é expandido para os parâmetros passados para essa função.
Portanto, "${@,,}"
simplesmente converterá o que foi passado para a função em minúscula e, em seguida, a executará. Portanto, a execução da função ??
com !!
como um parâmetro converterá o último comando para minúsculo e será executado.