Вы можете создать псевдоним xo (назовите его как угодно), который повторно запускает последнюю команду без вывода какого-либо ее вывода, а затем запускает последнюю строку этого вывода в качестве команды.
alias xo='$($(fc -ln -1) |& tail -1)'
Затем, после того как вы попытаетесь запустить myapp и получите команду, которую вы можете использовать для установки mypackage которая предоставляет myapp , вы можете просто набрать xo и нажать Enter, и команда для установки mypackage будет запущена.
Как это работает
$(fc -ln -1) ведет себя как расширение истории !! , !! не работает в определении псевдонима или функции, но fc (и подстановка команд с $( )) работает.
$(fc -ln -1) |& tail -1 перезапускает последнюю команду, передавая ее стандартный вывод и стандартную ошибку в tail -1 , который отбрасывает все, кроме последней строки.
Включение этого во внешнюю команду подстановки приводит к тому, что последняя строка запускается как команда. На нем выполняется разбиение по словам (поскольку все это не заключено в " кавычки»), что вам и нужно.
Источники цитируются