Necesito permitir que varias aplicaciones se agreguen a una variable del sistema ($ PYTHONPATH en este caso). Estoy pensando en designar un directorio donde cada aplicación pueda agregar un módulo (por ejemplo, .bash_profile_modulename). Intentado algo como esto en ~/.bash_profile:fuente de todos los archivos en un directorio de .bash_profile
find /home/mike/ -name ".bash_profile_*" | while read FILE; do
source "$FILE"
done;
pero no parece funcionar.
Un script de prueba rápida funciona para mí. ¿Puede ser más específico en cuanto a lo que contienen sus archivos y lo que "no parece funcionar" significa? –
Los archivos se ven como: export PYTHONPATH =/testpath /: $ PYTHONPATH El problema es que no agrega/testpath/a la PYTHONPATH. –
Solo para explicar por qué el script original no funciona: los archivos se obtienen en un ciclo while en una canalización; Los builtins de bash utilizados en las tuberías se ejecutan en subcapas, por lo que cualquier elemento definido por los archivos de origen desaparece cuando sale de la subcapa. La solución (como en las respuestas a continuación) es eliminar la tubería. –