Como eu substituo meu “shell do sistema base” pelo IPython?

1

Eu gostaria de substituir o bash pelo IPython em meu sistema, para que até mesmo arquivos como o .profile estejam em Python, em vez de em shell script.

Eu tenho alguma confusão sobre o assunto, apesar de fazer algumas perguntas sobre o assunto. Aqui estão as perguntas que fiz anteriormente:

1) Como posso substituir o bash pelo Python?

A partir da resposta a essa pergunta, aprendi como substituir automaticamente o bash pelo IPython após efetuar login (note que ele ainda usa .profile escrito em shell script).

2)

A partir da resposta a essa pergunta, aprendi que o arquivo .profile é "originado" em vez de "executado" - isto é, as linhas no .profile são executadas uma a uma, como se estivéssemos digitando-as no shell .

Então, minha pergunta agora é: como faço para que meu shell do sistema base seja o IPython, para que ele possa gerar arquivos .profile com o IPython magics / Python escritos dentro deles? Por exemplo, gostaria de escrever meu arquivo .profile usando o IPython magics / Python.

    
por user89 10.12.2015 / 18:49

1 resposta

0

Se você quiser que o Python seja lançado como seu shell padrão pelo processo login(1) , você pode alterar o shell no arquivo /etc/passwd usando o comando:

usermod -s /usr/bin/python yourusername

O script .profile ainda não será executado. Este nome de arquivo / local é codificado em bash(1) . Se você realmente quer isso, você pode configurar um script shebang (#!) Que é interpretado por python e tornar esse shell seu usuário. Você pode entrar no modo interativo usando o script code.interact() .

Isso não funcionará muito bem (se for o caso). O modo interativo do Python não executa a maioria das funções de um shell (por exemplo, controle de tarefas) e o os.system não ajuda, já que o shell do sistema agora é Python.

    
por 10.12.2015 / 19:58

Tags