Não realmente. Os .profile
e .bashrc
(e .bash_logout
e .bash_profile
) são específicos para o shell. Ou seja, os programas shell e somente os programas shell lêem esses arquivos. Ele (o shell) não os executa como um processo separado, mas sim source , de uma maneira similar a como o Python faz uma importação , mas muito menos elegante. Se você quiser algo semelhante, você precisa encontrar um shell baseado em Python. Uma resposta a essa pergunta relacionada foi encontrada aqui .
O mais próximo que você pode obter é um script python que faz seu trabalho e, em seguida, exporta seus pares KEY=VALUE
compatíveis com o shell, imprime-os no padrão e, em .profile
ou o que for, você tem (por exemplo) :
set -a
eval 'python $HOME/.profile.py'
set +a
Você deve, no entanto, cuidar de várias coisas. Primeiro, todos esses VALUE
s devem ser adequadamente citados. Normalmente, você deseja aspas simples, a menos que o VALUE contenha aspas simples. Segundo, certas variáveis de shell não devem ser sobrescritas (a menos que você saiba o que está fazendo): SECONDS, RANDOM vêm à mente.
A propósito: O par set
liga e desliga a exportação automática, de modo que quaisquer variáveis que você enviar do python para o shell, serão exportadas pelo shell para subprocessos. Isso não é necessário se o seu script python preceder cada KEY com o termo export
. (No entanto, estritamente falando, isso é incompatível com o shell Bourne original.)