Já faz um tempo que eu conheci o Xonsh, desde o dia que eu resolvi passear por alguns aplicativos do Portage e encontrei o Xonsh . Á princípio só fiz um teste básico , mas só depois de um tempo resolvi descobri ver o que tem de diferente nesse Shell. E instalei a versão mais recente (que não está nos repositórios das distros) , bem como também suas dependências que o deixam mais intuitivo.
Vamos lá conhecer esse Xonsh!
O Xonsh é uma Shell e um prompt de comando compatíveis com Unix, Python e multiplataforma, disponível para Linux, macOS e Windows. É destinado à especialistas e novatos. Para quem é desenvolvedor Python, o Xonsh é uma verdadeira mão na roda , pois ele é praticamente um utilitário híbrido e reconhece duas linguagens no mesmo ambiente.
O Xonsh está disponível no repositório das principais distribuições Linux, e você pode instalá-lo usando seu gerenciador de pacotes, assim:
Lembrando que na maioria das distribuições, o Xonsh não está com sua versão atualizada.
Mas a forma mais correta, na minha opinião, de instalá-lo é:
Portage
APT
Para sua distribuição, use o comando de busca do gerenciador e pesquise o nome dessas dependências
Certifique-se que o comando python está apontando para o Python3.6 ls -l /usr/bin/python*
, se não estiver, remova e recrie o link simbólico, exemplo:
Após instalado, você pode entrar/rodar o Xonsh, apenas rodando o comando xonsh
, mas você verá que o mesmo funcionará, no entanto, isso pode lhe confundir. Para evitar isso, saia do xonsh exit
e crie um arquivo de configuração vim ~/.xonshrc
com as configurações básicas:
Lembrando que essas configurações podem ser encontradas, digitando Ctrl + f no seu navegador na página principal do Xonsh https://xon.sh/ e depois digitando xonshrc , ou indo até secção: Config Files and Settings e depois no link Snippets for xonshrc que seria o mesmo em ir direto no link: https://xon.sh/xonshrc.html#snippets-for-xonshrc
Se quiser usar um Prompt customizado adicione essa linha: $PROMPT = '{user}@{hostname}:{cwd} > '
De acordo com a documentação: Config Files and Settings » Environment Variables » $PROMPT » https://xon.sh/tutorial.html#customizing-the-prompt , além de incluí-lo na sua lista de Shells
which xonsh | sudo tee -a /etc/shells
ou até mesmo torná-lo seu shell padrão:chsh -s $(which xonsh)
e tambémecho '$SHELL = \'/usr/bin/xonsh\'' >> ~/.xonshrc
Você pode customizar ainda mais seu PROMPT, cores, criar funções, aliases,… entre diversas customizações para variáveis de ambiente, utilizar o Python e o Shell diretamente via linha de comando . Assista ao vídeo e saiba mais: