Tengo algunas cosas que quiero realizar en .bashrc que preferiría existir en otro archivo en el sistema. ¿Cómo puedo incluir este archivo en .bashrc?Incluir archivos adicionales en .bashrc
Respuesta
Agregue source /whatever/file
(o . /whatever/file
) en .bashrc
donde desea que se incluya el otro archivo.
Para evitar errores, primero debe comprobar para asegurarse de que el archivo existe. Luego fuente el archivo. Haz algo como esto
# include .bashrc if it exists
if [ -f $HOME/.bashrc_aliases ]; then
. $HOME/.bashrc_aliases
fi
Si tiene varios archivos que desea cargar que puede o no existir, se puede mantener un poco elegante mediante el uso de un bucle.
files=(somefile1 somefile2)
path="$HOME/path/to/dir/containing/files/"
for file in ${files[@]}
do
file_to_load=$path$file
if [ -f "$file_to_load" ];
then
. $file_to_load
echo "loaded $file_to_load"
fi
done
La salida se vería así:
$ . ~/.bashrc
loaded $HOME/path/to/dir/containing/files/somefile1
loaded $HOME/path/to/dir/containing/files/somefile2
Seguramente no necesita verificar la existencia de archivos nuevamente dentro del ciclo? (A menos que tenga una lista muy dinámica de archivos en el disco) –
Solo existe un control para la existencia de archivos. Si su entorno de trabajo actual no tiene el archivo descrito en la lista, simplemente se cargará un error en ese archivo y se creará ruido visual. Un enfoque más ideal sería obtener una lista de archivos, luego recorrerla en lugar de definir una lista estática. – modle13
prefiero comprobar la versión del primero y asignar la variable de configuración de ruta:
if [ -n "${BASH_VERSION}" ]; then
filepath="${HOME}/ls_colors/monokai.sh"
if [ -f "$filepath" ]; then
source "$filepath"
fi
fi
- 1. Cómo incluir archivos personalizados en Doxygen
- 2. Incluir archivos .css en asp.net
- 3. Abolir incluir archivos en C++
- 4. Incluir archivos relativos en PowerShell
- 5. Incluir archivos R?
- 6. Codeigniter: Cómo incluir archivos javascript
- 7. ¿Cómo incluir archivos .m4 en Autoconf?
- 8. Cómo incluir archivos .obj en el proyecto
- 9. Cómo importar/incluir archivos fuente en JavaScript?
- 10. ¿Cómo incluir módulos nodejs en archivos html?
- 11. Constantes e Incluir archivos en TSQL
- 12. Cómo incluir varios archivos fuente en C#
- 13. Cygwin cáscara no ejecuta Bashrc
- 14. vim - ejecutar: comandos en mi .bashrc
- 15. Cómo hacer para eliminar archivos adicionales en caso de error
- 16. MSDeploy: "Deja archivos adicionales en destino" de línea de comandos?
- 17. ¿Puedo agregar algo en bashrc para ocultar archivos de editor de texto (~ extensión)?
- 18. if .bash_profile usualmente fuente .bashrc de cualquier manera, ¿por qué no usar simplemente .bashrc?
- 19. C#: ¿Cómo incluir archivos DLL dependientes?
- 20. python: ¿pueden los archivos zip ejecutables incluir archivos de datos?
- 21. Cómo incluir archivos JavaScript por h: ¿outputScript?
- 22. Tablas de asociaciones de muchos a muchos: ¿Es habitual incluir columnas adicionales en estas tablas?
- 23. ¿Cómo incluir paquetes adicionales javax. * En la aplicación de Android con Eclipse?
- 24. Incluir estrategia de pedido de archivos
- 25. Ant: Renombrar archivos para incluir su MD5
- 26. CXF java2ws: cómo incluir archivos xsd externos?
- 27. cppcheck no puede encontrar incluir archivos
- 28. Rsync cómo incluir directorios pero no archivos?
- 29. Añadiendo mysql a mi .bashrc PATH
- 30. ¿Cómo agrupar archivos adicionales (datos) con un módulo de Netbeans?
Debe manejar inexistencia gracia. por ejemplo, verificar la existencia (test -r path &&. path) o ignorar errores (.path 2>/dev/null) –
@William Pursell IMO es más fácil probar una vez, luego escribir código para casos, que el 99.99% nunca ocurre . – Daniel
@Daniel No estoy de acuerdo. Las cosas que suceden .01% del tiempo pueden ocurrir miles de veces por segundo. Y tener un .bashrc en un $ HOME montado en NFS podría significar que la tasa de fallas en la obtención de un archivo es mucho mayor que .01% –