Direnv - Administrar variables de entorno específicas del proyecto en Linux
- 3077
- 266
- Jaime Delgadillo
directo es una ingeniosa extensión de código abierto para su shell en un sistema operativo Unix como Linux y MacOS. Se compila en un solo ejecutable estático y admite conchas como intento, zsh, TCSH, y pez.
El objetivo principal de directo es permitir variables de entorno específicas del proyecto sin desorden ~/.perfil
o archivos de inicio de shell relacionados. Implementa una nueva forma de cargar y descargar variables de entorno dependiendo del directorio actual.
Se usa para cargar 12 factor APPS (una metodología para construir variables de entorno de software como aplicaciones de servicio), crear entornos de desarrollo aislados por proyecto y también cargar secretos para la implementación. Además, se puede utilizar para construir soluciones de instalación y administración de versiones múltiples similares a rbenv, pyenv, y phpenv.
Entonces, ¿cómo funciona Direnv??
Antes de que el shell cargue un símbolo del sistema, directo verifica la existencia de un .envidia
Archivo en el actual (que puede mostrar usando el comando pwd) y el directorio principal. El proceso de verificación es rápido y no se puede notar en cada aviso.
Una vez que encuentra el .envidia
Archivo con los permisos apropiados, lo carga en una subhorro de Bash y captura todas las variables exportadas y las pone a disposición del shell actual.
Instalación de Direnv en sistemas Linux
En la mayoría de las distribuciones de Linux, la directo El paquete está disponible para instalar desde los repositorios predeterminados utilizando el Administrador de paquetes de su sistema como se muestra.
$ sudo apto install direnv #Debian, Ubuntu y Mint $ sudo dnf instalación direnv #fedora
En otras distribuciones como Red Hat Enterprise Linux (Rhel) y Cento o cualquier distribución que admita las instantáneas, puede instalarla como un quebrar. Esto requiere que tenga Snapd instalado en su sistema.
$ sudo snap install direnv
Cómo enganchar direnv en tu caparazón de fiesta
Después de instalar directo, Necesitas conectarlo a tu shell Linux actual. Por ejemplo para Intento, Agregue la siguiente línea al final del ~/.bashrc
archivo.
Asegúrese de que aparezca incluso después RVM, git-prompt, y otras extensiones de shell que manipulan el aviso.
eval "$ (Direnv Hook Bash)"
Para shell zsh
Agregue la siguiente línea al final del ~/.ZSHRC
archivo:
eval "$ (Direnv Hook Zsh)"
Para cáscara de pescado
Agregue la siguiente línea al final del ~/.config/pesh/config.pez
archivo:
eval (pez de gancho de Direnv)
Luego cierre la ventana del terminal activo y abra un nuevo shell o obtenga el archivo como se muestra.
$ fuente ~/.Bashrc $ Source ~/.ZSHRC $ Source ~/.config/pesh/config.pez
Cómo usar Direnv en Linux Shell
Para demostrar como directo funciona, crearemos un nuevo directorio llamado tecMint_projects
y muévete a él.
$ mkdir ~/tecmint_projects $ cd tecMint_projects/
A continuación, creemos una nueva variable llamada Test_variable
En la línea de comando y cuando se hace eco, el valor debe estar vacío:
$ echo $ test_variable
Ahora crearemos un nuevo .envidia
archivo que contiene código bash que se cargará por directo. También intentamos agregar la línea "Exportar el test_variable = tecMint"En él, usando el comando echo y el carácter de redirección de salida (>)
:
$ Echo Export test_variable = TecMint> .envidia
Por defecto, el mecanismo de seguridad bloquea la carga de la .envidia
archivo. Como lo sabemos como un archivo seguro, necesitamos aprobar su contenido ejecutando el siguiente comando:
$ Direnv Permitir .
Ahora que el contenido de .envidia
Se ha permitido que el archivo se cargue, verifiquemos el valor de Test_variable
que establecemos antes:
$ echo $ test_variable
Cuando salimos del tecmint_project
directorio, el directo se descargará y si verificamos el valor de Test_variable
Una vez más, debería estar vacío:
$ CD ... $ echo $ test_variableDemostración de cómo funciona Direnv en Linux
Cada vez que te mudas al tecMint_projects directorio, el .envidia
El archivo se cargará como se muestra en la siguiente captura de pantalla:
$ cd tecMint_projects/Cargando el archivo EnvRC en un directorio
Para revocar la autorización de un dado .envidia
, utilizar el denegar dominio.
$ Direnv negar . #en el directorio actual o $ Direnv Deny/Path/to/.envidia
Para obtener más información e instrucciones de uso, consulte el directo Página del hombre:
$ hombre direnv
Además, directo También usa un stdlib (direnv-stdlib) viene con varias funciones que le permiten agregar fácilmente nuevos directorios a su CAMINO y haz mucho más.
Para encontrar la documentación para todas las funciones disponibles, consulte el direnv-stdlib Página de entrada manual:
$ hombre direnv-stdlib
Eso es todo lo que tuvimos para ti! Si tiene alguna pregunta o pensamiento para compartir con nosotros, use el formulario de comentarios a continuación.
- « 4 formas de generar una fuerte clave previa al intercambio (PSK) en Linux
- Los 5 mejores reproductores de música de línea de comando para Linux »