
Cuando instala un programa en Linux, su ejecutable generalmente se agrega a Variables de entorno de ruta. Esto le permite ejecutar el programa desde cualquier lugar de la terminal sin ingresar su camino completo. Sin embargo, a veces es posible que deba agregar la ubicación del programa a $PATH Manual. En este breve tutorial, veremos cómo Agregar directorio a las rutas en Linux Sistema operativo.
¿Por qué queremos agregar un directorio a la ruta $?
Hace unos días, estaba probando un programa llamado Macchinaescrito en óxido Lenguaje de programación. Tengo Instalar óxido usando conda Administrador de paquetes En mi sistema Ubuntu, luego instale usando MacChina de Rust cargo Administrador de paquetes.
Cuando intento iniciar el programa MacChina, la salida significa que el programa no está instalado. Intenté instalarlo nuevamente y recibí el siguiente mensaje:
Updating crates.io index
Ignored package `macchina v0.5.9` is already installed, use --force to override
warning: be sure to add `/home/sk/.cargo/bin` to your PATH to be able to run the installed binariesComo ya sabrá, cuando instalemos un programa escrito en Rust, el binario ejecutable se guardará en el directorio bin de los productos (es decir, ~/.cargo/bin).
ls ~/.cargo/bin/
macchina
Como se muestra arriba, el binario MacChina se guarda en el directorio de caja de carga. Después de instalar Rust, debería agregar este directorio a mi ruta $, pero lo olvidé. Es por eso que no puedo ejecutar el programa directamente desde la terminal.
Si estoy usando Rusty rustup Instale el script del programa, este problema no ocurrirá. Porque el script Rusup agregará automáticamente el directorio bin de los bienes a $PATH Modificar variables de entorno contorno El archivo se encuentra en ~/.profile.
Pero, en mi caso, instalaré óxido en uno Conda ambiente. Dado que Conda no se agregará automáticamente ~/.cargo/bin llegar $PATHTengo que hacerlo manualmente.
Lista de entorno Variable $ ruta
Enumeremos todas nuestras variables de entorno $PATH usar echo Orden.
echo $PATH
Salida de muestra:
/home/sk/anaconda3/envs/rustenv/bin:/home/sk/anaconda3/condabin:/home/sk/.nvm/versions/node/v15.0.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Como puede ver en la salida anterior, el directorio ~/.cargo/bin/ No disponible en la ruta $, por lo que es imposible iniciar el programa MacChina con su nombre. Sin embargo, puedo comenzar el programa escribiendo su ruta completa:
~/.cargo/bin/macchina
Para ejecutar un programa desde cualquier lugar utilizando su nombre solamente, debe agregar el directorio que contiene el programa a su $PATH. En la siguiente sección, mostraré cómo hacer esto.
Agregar directorio a las rutas en Linux
Agregue un directorio, p. /home/sk/.cargo/bin/ejecutar en el ruta $:
export PATH=/home/sk/.cargo/bin:$PATH
Tenga en cuenta que al final de la ruta del directorio: :).
Ahora enumere las variables de entorno de uso nuevamente echo Orden:
echo $PATH
Salida de muestra:
/home/sk/.cargo/bin:/home/sk/anaconda3/envs/rustenv/bin:/home/sk/anaconda3/condabin:/home/sk/.nvm/versions/node/v15.0.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
¿mirar? este ~/.cargo/bin Directorio agregado a $PATH. De ahora en adelante, puedo iniciar cualquier programa instalado en este directorio simplemente llamando al nombre del programa. ¡No hay necesidad de entrar en el camino completo!
tenga en cuenta Esto es temporal. Una vez que sale la sesión actual, la variable de entorno desaparecerá.
llegar Cambios permanenteseditar ~/.bashrc documento:
nano ~/.bashrc
Finalmente agregue la siguiente línea:
export PATH=/home/sk/.cargo/bin:$PATH

de acuerdo a CTRL+O seguido de CTRL+X Guarde el archivo y salga.
Ejecute el siguiente comando y los cambios entren en vigencia inmediatamente:
source ~/.bashrc
Si desea hacerlo en todo el sistema, agregue la misma línea a /etc/profile documento.
Mesa trampa
Aquí hay una hoja de trucos para agregar directorios en su ruta $. Imprima y colóquelo cerca de la mesa para una referencia rápida.

Espero que esto ayude.









