A maneira mais fácil de pensar, já que a linha em questão é um comando, é:
'$easy_install 2>&1 | grep sudo'
Os backticks ou $(…) pegam a saída de um pipe de comando e o executam como se você o tivesse digitado, retornando a saída.
Por favor, note que este comando não funcionará se você estiver perdendo sudo e tentando instalá-lo. Mas como isso é obviamente o Ubuntu, sudo está normalmente disponível. Para evitar isso, você pode tentar sua segunda opção:
'$easy_install 2>&1 | tail -n 1'
Tente evitar o uso de tail -1 , que está sendo substituído pelo formulário padrão tail -n 1 . Eu acho isso difícil, mas eu não gosto de avisos de depreciação. :)
Aviso : se $easy_install existir e você não obtiver esse tipo de saída, qualquer um desses comandos é uma segurança massiva risco. Você pode acabar executando coisas arbitrárias. Você pode se proteger sendo mais extravagante:
'$easy_install 2>&1 >/dev/null | grep '^sudo apt-get install''
Isso descarta stdout e só executará qualquer coisa que comece com sudo apt-get install , o que limita muito as coisas, mas é consideravelmente mais irritante do que digitar sudo apt-get install $package .