Los comandos no son solo comandos del sistema operativo de disco. La ruta es una lista de directorios en la que el shell busca comandos del sistema operativo y otros comandos. Los comandos son como archivos de programa cortos. Entonces, los comandos son ejecutables. Cada aplicación instalada en la computadora viene con un archivo ejecutable. Para ejecutar la aplicación, el archivo ejecutable se activa primero. Estos archivos ejecutables también se llaman comandos.
Sin la variable de ruta, cada comando se ordenaría con la ruta absoluta, como en,
/home/John/dir1/dir2/comando.exe
donde el primero / es el directorio raíz; John es el directorio de usuario para el usuario, John; Dir1 y Dir2 son subdirectorios; y comando.exe es el nombre del archivo ejecutable.
Es posible muchos otros nombres para el archivo ejecutable. De hecho, comando.exe es simbólico, aquí. Entonces, si el directorio,/home/John/dir1/dir2 (sin el archivo), está en la variable de ruta, el usuario John, ejecutará el comando.exe en el aviso, John@host: ~ $ simplemente escribiendo, comando.exe, sin el camino anterior. Eso es:
John@host: ~ $ comando.exe
y luego presionando Enter.
Para ver la lista actual de directorios de ruta en la computadora, escriba:
$ echo $ ruta
y presione Entrar, en la terminal. El resultado sería algo como,
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
La pregunta ahora es: ¿Cómo se agrega un directorio (y su ruta anterior)?? Con algunas instalaciones, el directorio se agrega automáticamente. Con otros, tiene que agregarse manualmente. Este artículo explica las dos formas principales, en las que se agrega el directorio. El directorio no se agrega (incluido), ya que se haría a una matriz. Las dos formas principales se denominan adición temporal y adición permanente. Bash es el shell utilizado para los ejemplos de código en este artículo.
Contenido del artículo
Adición temporal
La adición temporal significa que la adición solo tiene lugar en la memoria. No se guarda para su uso cuando se reinicia la computadora.
El comando de exportación incorporada de Bourne Shell
En términos simples, el comando de exportación es:
$ exportación [nombre [= valor]]]
En este caso, reasigna un valor a una variable en la memoria.
La variable de ruta en la memoria puede tener valor como,
Ruta =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Suponga que el directorio que se agregará es/Home/John/Dir1/Dir2. Si el comando de exportación se escribe como,
$ Export Path =/Home/John/Dir1/Dir2
Entonces/home/John/Dir1/Dir2 reemplazaría todo lo que ya está en la memoria como valor para la variable de ruta.
Si el comando de exportación se escribe como,
$ Export Path = $ Path:/Home/John/Dir1/Dir2
Entonces,/Home/John/Dir1/Dir2 se adjuntaría al final de lo que ya está en la variable. Entonces, la nueva variable sería:
Ruta =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/ Inicio/John/Dir1/Dir2
Observe que en la línea de código anterior anterior, la parte del valor que ya está allí está separada de la nueva parte con un colon, que es ':'. $ Ruta en la línea de código, se expande (se reemplaza) por el valor de la ruta que ya está en la memoria.
Ahora, el mismo comando puede estar en más de un directorio. Cuando se escribe un comando ejecutable sin la ruta anterior en la solicitud, el shell comienza a buscar el valor (cadena) de la variable de ruta en la memoria, de izquierda a derecha. Entonces, con la línea de código anterior,/Home/John/Dir1/Dir2 llegaría por fin, en la búsqueda. Quien quiere que su directorio llegue el último? - Nadie. Entonces, una mejor manera de incluir (agregar) el directorio, es el siguiente:
$ Export Path =/Home/John/Dir1/Dir2: $ Path
/Home/John/Dir1/Dir2 ahora está al principio, separado del siguiente directorio, con un colon. Entonces, con un mensaje de "John@Host: ~ $",
John@host: ~ $ export path =/home/John/Dir1/Dir2: $ Path
Después de escribir y presionar Enter, el comando, comando.exe en el directorio, Dir2, se ejecutaría con:
John@host: ~ $ comando.exe
Mientras la computadora no esté cerrada, el usuario continuará ejecutando el comando.exe sin escribir el camino anterior.
Cuando la computadora se apaga, todo en memoria de acceso aleatorio se borra. La mala noticia es que el usuario de la computadora tendrá que repetir este proceso de agregar su directorio a la variable de ruta cada vez que se reinicie la computadora. Nadie quiere estar haciendo eso hoy. Entonces, el enfoque de adición permanente es el enfoque recomendado. Es decir, la adición a la ruta, debe salvarse (en el disco duro).
Adición permanente
De la discusión anterior, la idea es salvar el cambio realizado (en el disco duro). Entonces, si el cambio se guarda en un archivo que shell lee cada vez que la computadora arranca, estaría bien. Es decir, cada vez que la computadora bota, la variable de ruta en la memoria se actualizará adecuadamente. Cuando se inicia una computadora, al arrancar, lee ciertos archivos. Uno de los archivos que el shell bash para las lecturas de Linux es, ~/.bashrc . El nombre del archivo es .bashrc , comenzando con el punto. Está en el directorio del usuario.
Bash es solo un caparazón, probablemente el caparazón más popular para Linux, hoy. Otra caparazón para Linux es ZSH. Con ZSH, el archivo correspondiente es ~/.ZSHRC, todavía en el directorio del usuario. Cuando se inicia el shell, al arrancar, lee este archivo. Para Bash, el archivo es, ~/.bashrc . Entonces, si el código de adición anterior se escribe en ~/.archivo bashrc, el directorio siempre estará en la memoria, como ~/.BASHRC siempre lo incluirá en la ruta, cada vez que la computadora bota. Permanece en la memoria, hasta que la computadora se apague.
En Bash, ~/.BASHRC es un archivo oculto, por lo que el uso ordinario del comando, LS no lo mostrará. ~/.BASHRC contiene algunos comandos bash (shell). Ubuntu es una variante de Linux. Ubuntu viene con un editor de texto. En la computadora del autor, el fondo del editor de texto de Ubuntu es negro.
El comando de adición anterior (sin el aviso) debe incluirse en el ~/.archivo bashrc. Es bueno agregarlo al final del archivo para no templar con su contenido disponible, eso probablemente esté funcionando bien.
Para abrir ~/.BASHRC en Ubuntu, escriba lo siguiente en el símbolo del sistema en el terminal y presione ENTER:
$ nano ~/.bashrc
Donde nano es el editor de texto. Aquí, Nano es un comando (ejecutable), cuyo argumento es, ~/.bashrc . El contenido del archivo debe abrirse en el editor de texto para superponer la ventana del terminal.
El ~/.El archivo BASHRC se abrirá en el editor de texto, probablemente con un fondo negro. El cursor parpadeará en la esquina superior izquierda.
Presione la tecla de flujo baja en el teclado continuamente hasta que el cursor llegue al final del archivo. Agregue una nueva línea de,
$ Export Path =/Home/John/Dir1/Dir2: $ Path
Eso no es todo. El cambio a la ~/.El archivo BASHRC no se ha guardado. Para guardar el archivo con el cambio realizado, presione Ctrl+O y siga cualquier otra instrucción que aparezca. Para salir del editor de texto, presione Ctrl+X, y la ventana del terminal normal debe reemplazar la ventana del editor de texto. Luego se pueden emitir otros comandos de shell.
Si se emite "Echo $ Path", el nuevo directorio no se verá en la pantalla. Hay dos formas de continuar desde aquí: reinicie la computadora o obtenga el nuevo contenido de ~/.archivo bashrc en la memoria con el comando de origen. Es simple usar el comando de origen, como sigue:
$ fuente ~/.bashrc
Si el comando de origen se emite sin reiniciar, "Echo $ Path" mostrará el nuevo directorio agregado en el resultado (pantalla). El comando de interés se puede escribir sin la ruta anterior.
Nota: No confunda entre el final del valor de la ruta (lista) y el final de ~/.archivo bashrc. Además, no confunda entre un directorio en la ruta en la memoria y un archivo ejecutable en el directorio en el disco duro.
Conclusión
La ruta es una variable incorporada en las conchas de Linux. El valor de la ruta es una lista de directorios separados por colons. Hay un comando (archivo ejecutable) en el disco duro para cada uno de estos directorios. Si se emite un comando en la venta sin precedirlo con una ruta, el shell buscará estos directorios para el comando. Si no ve el comando en ninguno de los directorios, entonces el comando no se ejecutará. En este caso, para ejecutar el comando, el comando debe estar precedido a su ruta. El comando puede estar en más de un directorio en el valor de la ruta. Tan pronto como el shell ve el primer directorio que tiene el comando, ejecuta el comando. El valor de la ruta es en realidad una cadena que consiste en directorios separados por colons.
El problema es cómo agregar el directorio para el ejecutable de una nueva aplicación en la ruta. En algunos casos, esto se hace automáticamente mediante el programa de instalación de la nueva aplicación. En otros casos, debe hacerse manualmente. Hay dos formas de hacerlo manualmente, denominado: adición temporal y adición permanente. La adición temporal usa el comando de exportación y solo agrega el directorio mientras la computadora está encendida. La adición permanente debe guardar la línea de comando de exportación en el ~/.Archivo de inicialización de BASHRC (BASH) para futuras operaciones.