Apéndice B. Comprender $PATH e instalar programas de la línea de comandos

PATH es una variable de entorno que define los directorios en los que se buscará un comando determinado. Es decir, si escribo foo y no hay ningún comando integrado, función del shell, alias de comando o programa en ningún lugar de mi PATH que el shell pueda ejecutar como foose me dirá que no se puede encontrar este comando:

$ foo
-bash: foo: command not found

En Windows PowerShell, puedo inspeccionar el PATH con echo $env:Pathmientras que en las plataformas Unix utilizo el comando echo $PATHAmbas rutas se imprimen como una cadena larga sin espacios, con todos los nombres de directorio separados por punto y coma en Windows o por dos puntos en Unix. Si el sistema operativo no tuviera algún concepto de ruta, tendría que buscar en todos los directorios de la máquina un comando determinado, lo que podría llevar de minutos a horas, por lo que tiene sentido restringir la búsqueda a unos pocos directorios.

A continuación se muestra la ruta en mi Macintosh. Observa que tengo que poner un signo de dólar ($) delante del nombre para indicar a mi shell (bash) que se trata de una variable y no de la cadena literal PATH. Para que sea más legible, utilizaré Perl para sustituir los dos puntos por nuevas líneas. Ten en cuenta que este comando sólo funcionará en una línea de comandos Unix en la que esté instalado Perl:

$ echo $PATH | perl -pe 's/:/\n/g' 
/Users/kyclark/.local/bin  /Library/Frameworks/Python.framework/Versions/3.9/bin ...

Get Dominar Python para Bioinformática now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.