No estoy tan interesado en Linux y tengo la siguiente duda después de un tutorial.
Tengo que modificar el bashrcarchivo. ¿Qué tipo de configuración contiene este archivo? Creo que algo relacionado con el entorno de bash shell, pero no estoy tan seguro de ello.
Tengo que insertar esta línea:
export PATH=$HOME/.local/bin:$HOME/.local/usr/bin:$PATH
¿Qué hace exactamente esta línea?
Creo que esa exportdeclaración se usa para crear una nueva variable que la hace disponible para otro programa.
Pero, ¿qué hace exactamente esta línea? ¿Es PATHel nombre de la variable que estoy definiendo? ¿Qué es $HOME?
Lo que significa el :símbolo entre PATH=$HOME/.local/biny $HOME/.local/usr/biny $PATHla sección en la expresión anterior?
¿Qué significa exactamente esta expresión?
                    
                        command-line
                                bash
                                environment-variables
                                bashrc
                                
                    
                    
                        AndreaNobili
fuente
                
                fuente

PATHmodificaciones ya se realiza en el~/.profilearchivo, por lo que es un poco inconsistente hacer cosas similares~/.bashrc. Mejor IMO para modificar el código que ya está en~/.profilesi es necesario. Actualmente el~/.profilearchivo predeterminado incluye esta línea:PATH="$HOME/bin:$HOME/.local/bin:$PATH"~/.bashrc,~/.profileel administrador de pantalla lo obtiene, por lo que solo las variables establecidas por~/.profileestán disponibles cuando inicia programas desde el entorno gráfico. Y eso ocurre temprano, por lo que debería estar bien para los procesos de inicio automático de la sesión.Respuestas:
Para recapitular todo lo mencionado en esta pregunta,
La
exportparteLa
exportlínea significa que la variable que declare después será accesible para los procesos secundarios. En otras palabras, los procesos podrán acceder a la variable declarada después de laexportpalabra clave a través del entorno del shell. Entonces, si hiciste algo asíexport FOO="BAR"y luego obtuviste los cambios en tu entorno de shell, podrías escribir$FOOy obtenerBAR.La
PATHparteLa línea de ruta es tal como usted indicó: está declarando una variable que se nombra
PATHpara el entorno de shell. En el entorno bash,PATHtiene un propósito especial de definir dónde busca programas la computadora. Esto le permite escribir comandos personalizados para scripts sin escribir el directorio completo. Tenga en cuenta que PATH está marcado para exportación de forma predeterminada, por lo que esta línea no tiene que reescribirse. Sin embargo, no duele.El
$HOMEen laPATHvariableAl comienzo de la ruta que se asigna a la
PATHvariable,$HOMEse declara. Esto significa que la computadora tomará el valor almacenadoHOMEy lo copiará y pegará frente al resto de la línea cuando lo lea.El
:entre ambos caminosEl
:es equivalente a una coma en oraciones. Simplemente separa los tres directorios. Sin esos tres directorios, la consola no reconocería los comandos que recibe. Esos tres lugares son los tres directorios que se usan más comúnmente para que los scripts / archivos de comandos se almacenen y, por lo tanto, el terminal debe tener acceso a ellos sin tener que escribir la ruta completa del archivo.fuente
La
PATHvariable le permite a bash saber dónde buscar programas ejecutables, por lo que si tiene un script o algún otro archivo ejecutable$HOME/.local/bin, la modificaciónPATHle permitirá escribir y ejecutar ese archivo tal como lo hace conlsodf.exportsolo significa hacer que esaPATHvariable también esté disponible para otros programas que ejecute desde bash.En cuanto a
:, es solo un separador para cada directorio. Es lo mismo que una coma en una lista de palabras, nada más.fuente