¿Cómo agrego un directorio al $PATH
en Ubuntu y hago los cambios permanentes?
environment-variables
justingrif
fuente
fuente
Respuestas:
Usando ~ / .profile para establecer $ PATH
Una ruta establecida
.bash_profile
solo se establecerá en un shell de inicio de sesión bash (bash -l
). Si coloca su ruta.profile
, estará disponible para su sesión de escritorio completa. Eso significa que incluso metacity lo usará.Por ejemplo
~/.profile
:Por cierto, puede verificar la variable PATH de un proceso mirando su entorno en
/proc/[pid]/environ
(reemplace [pid] con el número deps axf
). Ej. Usogrep -z "^PATH" /proc/[pid]/environ
Nota:
bash
como un shell de inicio de sesión no se analiza.profile
si existe.bash_profile
o no.bash_login
. Deman bash
:Ver las respuestas a continuación para obtener información sobre
.pam_environment
, o.bashrc
en los depósitos interactivo de no ingreso, o establecer el valor global para todos los usuarios, poniendo una secuencia de comandos en/etc/profile.d/
o utilizar/etc/X11/Xsession.d/
para afectar a la sesión de los gestores de visualización.fuente
PATH="$HOME/bin:$PATH"
¿Entonces lo agrego?Edite
.bashrc
en su directorio personal y agregue la siguiente línea:Deberá obtener su origen
.bashrc
o cerrar sesión / iniciar sesión (o reiniciar el terminal) para que los cambios surtan efecto. Para obtener su fuente.bashrc
, simplemente escribafuente
.bashrc
"? ¿Cómo se "reinicia el terminal"?.bashrc
No es el lugar adecuado para establecer variables de entorno. Deberían entrar.profile
o.pam_environment
. Ver mywiki.wooledge.org/DotFiles. .bashrc
no.bashrc
:) osource .bashrc
para el casoEl lugar recomendado para definir las variables de entorno permanentes de todo el sistema que se aplican a todos los usuarios es:
(que es donde
PATH
se define el valor predeterminado )Esto funcionará en escritorio o consola, gnome-terminal o TTY, llueva o truene;)
Para editar, presione Alt+ F2y escriba:
(o abra el archivo con
sudo
su editor de texto favorito)Para efectuar cambios, ejecute
. /etc/environment
. Como este archivo es solo un script simple, se ejecutará y asignará la nueva ruta a laPATH
variable de entorno. Para verificar, ejecute env y vea elPATH
valor en el listado.Relacionado:
fuente
source /etc/environment
para recargar los cambiosCreo que la forma canónica en Ubuntu es:
crear un nuevo archivo en
/etc/profile.d/
agregar allí:
y darle permiso de ejecución
fuente
Para novatos completos (como yo) que se sienten más cómodos con GUI:
$HOME
carpeta..profile
y haga clic en Abrir con editor de texto .PATH="$PATH:/my/path/foo"
..profile
)fuente
$PATH:
bit que incluye la definición de RUTA existentePara variables de entorno persistentes disponibles solo para usuarios particulares. Recomiendo mucho la documentación oficial de Ubuntu.
https://help.ubuntu.com/community/EnvironmentVariables
En referencia a la documentación anterior, configuré mis herramientas de ruta del SDK de Android de la siguiente manera:
~/.pam_environment
archivo en el directorio de inicio.PATH DEFAULT=${PATH}:~/android-sdk-linux/tools
.fuente
Pon esa línea en tu
~/.bashrc
archivo.Se obtiene cada vez que abre una terminal
EDITAR : según los comentarios a continuación, para una configuración más general que se aplicará a todos los shells (incluso cuando presionas Alt- F2en Unity), agrega la línea a tu
~/.profile
archivo. Sin embargo, probablemente no debería hacer ambas cosas, ya que la ruta se agregará dos veces a suPATH
entorno si abre una terminal.fuente
$HOME/.profile
para la configuración personal o/etc/profile
para todos los usuarios. Pero si solo es necesario para bash, supongo que cualquiera funcionará.~/.bashrc
, solo estará disponible en los terminales que abra. Por ejemplo, si presiona Alt + F2 e intenta ejecutar un comando desde ese directorio, no lo encontrará. Si lo configura en~/.profile
o~/.pam_environment
, la sesión de gnome (o cualquier DE que use) lo heredará. Agregar PATH~/.bashrc
también tiene el inconveniente de que si abre / exec bash de manera interactiva desde otro shell bash interactivo, se agregará varias veces.~/.profile
embargo, creo que es correcto para los caminos personales; ahí es donde Ubuntu agrega el~/bin
directorio. Y confieso que exageré un poco en la cantidad de formas, solo un poco.~/.profile
en este caso.Para configurarlo en todo el sistema, agregue la línea
export PATH=/path/you're/adding:$PATH
al final de/etc/profile
.Para agregar el directorio solo para el usuario conectado, agregue la misma línea a
~/.bash_profile
.fuente
Agregarlo a .bashrc funcionará, pero creo que la forma más tradicional de configurar las variables de ruta es en .bash_profile agregando las siguientes líneas.
Según este hilo , parece que el comportamiento de Ubuntu es ligeramente diferente al de RedHat y los clones.
fuente
.bashrc
, pégalo en su.bashrc
lugar. Los terminales GUI en Ubuntu no son shells de inicio de sesión, por.bash_profile
lo que no se ejecutarán..bash_profile
. Si bash no encuentra un.bash_profile
(cuando inicia sesión de forma interactiva), lo buscará.profile
y usará en su lugar. Por defecto, tendrás un.profile
y.bashrc
en Ubuntu. Y.profile
es el lugar correcto para establecer variables de entorno si ignoramos pam_env.En terminal,
cd
athe_directory_you_want_to_add_in_the_path
Esta no fue mi idea. Encontré esta forma de exportar ruta en este blog aquí .
fuente
agregar allí
fuente
sudo nano /etc/profile.d/SCRIPT_NAME.sh
Es más fácil para los principiantes.gksu gedit /etc/profile.d/SCRIPT_NAME.sh
es aún más fácil.Cada vez que "instalo" mi carpeta de scripts BASH, sigo el patrón de la prueba para una
$HOME/bin
carpeta que se encuentra en la mayoría de los archivos .profile en versiones recientes de Ubuntu. Puse una prueba que se parece aFunciona casi el 100% del tiempo, y me deja libre de cambiarlo en un editor de texto GUI con un rápido "Reemplazar todo" si alguna vez decidiera moverme a
/scripts
algún lugar más cerca de mi$HOME
carpeta. No lo he hecho en 6 instalaciones de Ubuntu, pero hay "siempre mañana". SBZT
fuente
El método recomendado para editar su
PATH
es de/etc/environment
archivoEjemplo de salida de
/etc/environment
:Por ejemplo, para agregar la nueva ruta de
/home/username/mydir
Luego, reinicie su PC.
Más información se puede encontrar aquí: EnvironmentVariables
fuente
Abra su terminal, escriba
gedit .profile
e inserte lo siguiente:Cierre y abra la terminal, debería estar funcionando.
fuente
Póngalo en su
~/.bashrc
o en cualquier parte que use rc (o antes mencionado~/.profile
) Y~/.xsessionrc
así también funcionará en X (fuera del shell).fuente
Incluso si las secuencias de comandos del sistema no usan esto, en cualquiera de los casos en los que se desea agregar una ruta (por ejemplo,
$HOME/bin
) a la variable de entorno PATH, se debe usarpara anexar (en lugar de
PATH="$PATH:$HOME/bin"
), ypara anteponer (en lugar de
PATH="$HOME/bin:$PATH"
).Esto evita el colon espurio
$PATH
inicial / final cuando está inicialmente vacío, lo que puede tener efectos no deseados.Ver, por ejemplo, https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating-leading-colon-if-unset
fuente
Para Ubuntu edite
~/.bashrc
y agregue la siguiente línea.. ~/.bash_profile
Luego edite su .bash_profile como lo necesite .....
fuente
.bash_profile
lo que necesitas". ¿Qué necesito hacer exactamente con el.bash_profile
?.profile
o.bash_profile
debe fuente.bashrc
. No de la otra manera.