¿Qué significa $ PATH?


28

Estoy tratando de instalar algo y entre los pasos estaba este:

"Ponlo en tu $PATH"

¿Qué significa esto? ¿Que es eso?

He buscado en este sitio y en Google, ¡pero todos lo dan por sentado!



2
@muru No, he leído esa pregunta y no tiene nada en común con la mía. Además, esta pregunta no fue útil en absoluto.
Adam

44
@muru Creo que la pregunta no es sobre cómo agregar (o podría estar malinterpretando lo que significa "colocarlo en su $ PATH").
Jacob Vlijm

1
@JacobVlijm tienes razón, no lo es.
Adam

2
Veo. Bien. Relacionado; askubuntu.com/q/141718/158442
muru

Respuestas:


24

Ejecutar en una terminal:

echo $PATH

o

printf "%s\n" "$PATH"

lo que ves es una lista de directorios, que se ve así:

/home/jacob/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

Si coloca un ejecutable en cualquiera de estos directorios, no necesita establecer la ruta al ejecutable / script, pero puede ejecutarlo por su nombre como un comando.

Los ejecutables en $PATHno deberían tener una extensión de idioma por convención (aunque funcionarían)

Editar su variable $ PATH

Puede agregar (permanentemente) un directorio $PATHagregando la siguiente línea a su ~/.profilearchivo (invisible de forma predeterminada, presione Ctrl+ Hen el administrador de archivos para que sea visible):

export PATH=$PATH:/path/to/dir

Información más útil sobre variables de entorno.

(como $PATH) se puede encontrar aquí (gracias por las sugerencias @Letizia)


podemos sugerir cómo cambiarlo en .bashrc PATH = $ PATH: / path / you / want, o en .profile, ¿qué te parece?
Lety

y este es un enlace útil para principiantes
Lety

@Letizia Preferiría el primero. ¿Eliminaste tu respuesta? estábamos más o menos al mismo tiempo. podríamos haber hecho una combinación muy bonita :)
Jacob Vlijm

Sí, ya lo hice, mi respuesta se eliminó y pensé que es mejor contribuir a su. ¿Qué opinas de mi comentario?
Lety

@Letizia comment = perfecto, lo editaré. ¡Gracias!
Jacob Vlijm

6

$PATHes una variable de entorno relacionada con la ubicación del archivo .

Cuando uno escribe un comando para ejecutar, el sistema lo busca en los directorios especificados por PATHen el orden especificado.

Puede ver los directorios especificados escribiendo echo $PATHen el terminal.

Supongamos que hay un archivo ejecutable foobar01.shpresente en el /home/user/foo1/foo2/foobar01.shque desea ejecutar de forma regular. escribir todo el "camino" llevaría mucho tiempo. Entonces agregamos el directorio a la $PATHvariable y podemos ejecutarlo foobar.shdirectamente sin siquiera especificar la ruta.

Puede agregarlo $PATHescribiendo el siguiente comando

export PATH=$PATH:/home/user/foo1/foo2


2

Supongo que proviene de un fondo de Windows (disculpas si no es cierto). En términos simples, una ruta (o la ruta de búsqueda) es la lista de directorios en los que se buscará cualquier cosa que escriba en la línea de comando. Si escribe un comando incorporado como ls, buscará una lista específica de directorios. Puede buscar su camino escribiendo echo $ PATH. Aquí hay una diferencia entre Windows y * nix: de manera predeterminada, Windows siempre busca el archivo ejecutable en el directorio actual. Por ejemplo, si tiene un archivo llamado uptime.bat en c: \ myscripts, y cd c: \ myscripts y escribe uptime, se ejecutará. Sin embargo, en * nix, se consultará la ruta y se encontrará el ejecutable (si está disponible).

Si mantiene sus scripts en un directorio llamado / home / teresa / scripts, para ejecutar esos scripts, deberá especificar la ruta completa a ese directorio. Ejemplo: / hone / teresa / checkHost. Una variación sería cd / home / teresa y luego escriba ./checkHost (tenga en cuenta ./, lo que significa que está pidiendo explícitamente que el archivo se ejecute desde el directorio actual.

Para evitar esto, solo puede escribir

export PATH = $ PATH: / home / teresa / scripts

lo que significa que, además de la ruta que ya existe ahora, también busque en / hone / teresa / scripts. Sin embargo, el problema con esto es que una vez que cierre la sesión, esta configuración desaparecerá. Por lo tanto, debe editar el archivo oculto ~ / .bashrc, encontrar la línea PATH allí y agregarla en consecuencia. Supongo que usas bash. En el caso de otros shells, la sintaxis y el archivo son diferentes.

Como nuevo usuario, es muy tentador tenerlo. en la ruta de búsqueda, lo que básicamente significa que también busca en el directorio actual. Sin embargo, eso no se considera una buena práctica por razones discutidas en otra parte.

HTH

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.