
Eu acidentalmente descobri o pacote lolcat hoje.
A primeira coisa que pensei foi: seria fantástico se eu pudesse canalizar tudo o que vem do stdout para o terminal através do lolcat para obter aqueles efeitos de arco-íris. Imagine as possibilidades de pegadinhas.
Essencialmente, o que estou pedindo é uma maneira de aplicar um comando a cada linha que sai de um prompt do bash para stdout.
Responder1
Basta executar o bash assim:festa | lolcat
Responder2
Em uma sessão bash, você quer fazer
exec > >(lolcat)
Não tenho isso instalado, mas uma ideia semelhante:
$ date
Sun Mar 22 20:01:23 EDT 2015
$ exec > >(rev)
$ date
5102 TDE 23:10:02 22 raM nuS
Responder3
Eu fiz uma extensão de shell para o gerador de sites mais rápido do mundo que faço, chamadaNift. Ele tem um ovo de páscoa onde você pode ativar a saída do lolcat para a maioria das coisas lolcat.on
(depois de iniciar o shell, por exemplo nift sh
). Você ainda obterá uma saída de arco-íris ao pressionar tab para obter possíveis opções de conclusão. Duvido que você consiga isso com qualquer outra solução sugerida.
A extensão do shell é paramerda++que é a linguagem de script embutida, que temessesfunções eessestipos disponíveis. Mas tudo o que ele não reconhece é executado como uma chamada de sistema usando o shell (provavelmente primário/padrão) em sua máquina (portanto, chamando-o de extensão de shell no modo shell REPL).
O Nift irá procurar uma versão do lolcat instalada na sua máquina e, caso contrário, usará uma versão integrada que deverá ser a mais rápida do mundo (é quase idêntica à minha implementação em c++lolcat-ccque é o mais rápido do mundo). Eu recomendo fortemente instalar o lolcat-cc (ou outra versão do lolcat) em cima do Nift, caso contrário você frequentemente executa o binário Nift de ~5mb para basicamente todas as chamadas do sistema, em vez de um binário <1mb para o lolcat.
f++ também é uma linguagem de script interessante. Pegaressescript, por exemplo, que cria e exclui 100 mil arquivos de texto vazios. Na minha máquina, isso é executado em aproximadamente 3,5 segundos, enquantoesseO script Bash fazendo essencialmente a mesma coisa leva cerca de 3 minutos!! Algumas das coisas legais que você já deve ter notado nesse script f++ é que você pode expandir variáveis dentro de strings, pode definir variáveis com tipos, pode expandir variáveis em vários parâmetros com chamadas de função, pode ter MUITOS mais de 10 mil parâmetros de entrada para chamadas de função (devem ter milhões!).
Você pode encontrar mais informações sobre os Nift REPLs (incluindo atalhos para diferentes plataformas)aqui.
Se você precisar definir variáveis de shell (não por meio de f++, mas do shell subjacente), você precisará fazer blocos de código usando a função sys/system. Você também pode fazer blocos de código para Lua (JIT) e ExprTk da mesma forma, pois ambos estão incorporados ao Nift. Você também pode usar Lua e ExprTk para acessar/modificar variáveis f++.
Então, para obter esse shell (extensão). Instale o Nift por meio de um gerenciador de pacotes ou clone, crie e instale no GitHub. Entre nift sh
no seu terminal para iniciar a extensão do shell Nift f++ e, em seguida, digite lolcat.on
para ativar a saída do arco-íris.