PATH-variable siempre se restablece. ¿Cómo arreglar eso?

9

Hace poco tiempo, descubrí que puedo crear terminales de comando personalizados al expandir la variable PATH. Desafortunadamente, siempre se reinicia cuando cierro el terminal y lo vuelvo a abrir.

¿Sabes cómo solucionar este problema?

Porque cuando quiero comenzar algunos scripts con comandos de terminal, no quiero expandir la variable PATH cada vez antes ...

Jenne
fuente
1
Ponlo en tu .bashrc?
gniourf_gniourf
¿Como hacer eso? Soy nuevo en Linux;)
Jenne
2
abra su .bashrcarchivo así: gedit ~/.bashrcy coloque lo que quiera allí (en la parte inferior del archivo es mejor), por ejemplo, PATH="~/my/cool/path/:$PATH"y exporte esta variable: después de la línea que acaba de ingresar, export PATHguarde el archivo, luego cierre su terminal y vuelva a abrir y ahora se encontrarán sus ejecutables en ~/my/cool/path.
gniourf_gniourf
Lo escribí como una respuesta completa para usted ...:)
gniourf_gniourf
Posible duplicado de ¿Cómo agregar un directorio a la RUTA?
David Foerster

Respuestas:

15

Entiendo que tiene algunos ejecutables en una de sus carpetas de inicio, por ejemplo, en ~/biny desea poder ejecutarlos sin tener que escribir siempre la ruta completa ~/bin/my_cool_executable.

Ya observó que ingresar PATH=~/bin:$PATHen su terminal hizo que las cosas funcionaran ... pero solo hasta que cierre la terminal. Cuando abre una nueva, su PATHvariable anterior se restablece a su valor original. Por cierto, supongo que sabes cómo, en cualquier momento, verificar el valor de la PATHvariable: así:

echo "$PATH"

¿Cómo hacer que su cambio sea permanente para que PATHsiga siendo el mismo cuando vuelva a abrir una nueva terminal? Es muy fácil, solo necesita editar su .bashrcarchivo. Usemos el gediteditor: en una terminal, escriba esto:

gedit ~/.bashrc

Esto abre el gediteditor. Desplácese hasta el final del archivo y agregue esto:

# Added by me on 2013/06/24
PATH=~/bin:$PATH
export PATH

y guarde el archivo y salga gedit. Luego cierre su terminal y abra una nueva. Ahora su PATHvariable debe tener ~/bindelante para que sus comandos ~/binsean accesibles sin tener que escribir su ruta completa. Y usted sabe cómo comprobar que: echo "$PATH".

¡Disfrutar!

Advertencia . Se considera una mala práctica y una vulnerabilidad de seguridad incluir .su PATHvariable.

gniourf_gniourf
fuente
Entonces, eso fue realmente agradable, pero ahora no puedo iniciar los programas, cuando soy root. ¿Sabes por qué y cómo solucionarlo? :)
Jenne
En este caso, una opción es colocar sus programas en /usr/local/binlugar de jugar con la PATHvariable ... o /usr/local/sbinsi solo se debe acceder desde la raíz.
gniourf_gniourf
Algunos deben ejecutarse como root y otros no. Por lo tanto, sería bueno si no importara y pudieran estar en un directorio personalizado. Entonces, ¿es capaz de hacer eso? :)
Jenne