Esse segmento e sua resposta aceita, em particular, são sobre o uso do Python para shell scripting , não como um shell interativo .
Para escrever scripts em um idioma diferente, coloque, por exemplo, #!/usr/bin/env python em vez de #!/bin/bash no topo do seu script.
Se você quiser experimentar um shell interativo diferente, basta executá-lo, por exemplo, digite ipython no seu prompt de shell existente. Se você decidiu adotar esse shell, defina a variável de ambiente SHELL no início de sua sessão (em ~/.profile na maioria dos ambientes ou em ~/.pam_environment ), por exemplo, export SHELL=/usr/bin/ipython ( .profile sintaxe) ou SHELL="/usr/bin/ipython" ( .pam_environment sintaxe).
Nenhuma das camadas que vi baseadas em linguagens avançadas, como Perl ou Python, são boas o suficiente para uso interativo na minha opinião. Eles são muito detalhados para tarefas comuns, especialmente o trabalho comum de um shell que é iniciar um aplicativo. Eu escrevi sobre um tópico semelhante há 4 anos ; Eu não acho que a situação melhorou fundamentalmente desde então.