Você pode criar um apelido Em seguida, depois de tentar executar Colocar isso em uma substituição de comando externa faz com que a última linha seja executada como um comando. A divisão de palavras é executada nela (já que a coisa toda não é entre aspas xo (nomeie o que quiser) que execute novamente o último comando sem imprimir nada de sua saída e, em seguida, execute a última linha dessa saída como um comando. / p>
alias xo='$($(fc -ln -1) |& tail -1)'
myapp e receber o comando que você pode usar para instalar o mypackage , que fornece myapp , basta digitar xo e pressionar Enter comando para instalar mypackage será executado. Como isso funciona
$(fc -ln -1) se comporta de maneira semelhante à expansão do histórico !! . !! não funciona em um alias ou definição de função, mas fc (e substituição de comando com $( ) ) são suficientes. $(fc -ln -1) |& tail -1 executa novamente o último comando, canalizando sua saída padrão e erro padrão para tail -1 , que descarta tudo menos a última linha. " ), que é o que você quer. Fontes citadas
$(!! |& tail -1) , a técnica principal na qual este método aliasável se baseia. / li>
$(fc -ln -1) simula !! enquanto trabalha dentro das definições de alias.