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.