Tengo una función que se supone que elimina copias duplicadas de directorios de mi PATH
variable de entorno. He creado algunos duplicados para poder probarlo pero no sé cómo:
1) poner el script en el $HOME/.bashrc
archivo
Respuesta1
Simplemente edite el .bashrc
archivo (mejor haga una copia del original primero, por si acaso) y simplemente agregue una línea con el nombre del script que desea ejecutar en el archivo (en la parte inferior .bashrc
estaría bien).
Si el script no está en su directorio de inicio, asegúrese de especificar la ruta completa.
Respuesta2
El archivo correcto para variables de entorno como PATH
not ~/.bashrc
pero ~/.profile
. .bashrc
es un archivo de configuración para shells interactivos; .profile
es el script de inicio de sesión. Ver¿Existe un archivo equivalente ".bashrc" leído por todos los shells?.
Bash es un poco peculiar con sus archivos de inicio: en los shells de inicio de sesión, lee ~/.bash_profile
si existe y ~/.profile
no. En shells interactivos sin inicio de sesión, se lee ~/.bashrc
. No hay razón para no cargar configuraciones interactivas en shells de inicio de sesión interactivos, y hay muchas configuraciones en las que el shell de inicio de sesión no se invoca como shell de inicio de sesión, sino que ~/.profile
se lee explícitamente. Así que haz que ~/.bash_profile
contenga solo estas dos líneas:
. ~/.profile
case $- in *i*) . ~/.bashrc;; esac
Si tenía cosas en ~/.bash_profile
, muévalas a ~/.profile
si son cosas como configuraciones de variables de entorno y ~/.bashrc
si son configuraciones de shell interactivas, como alias y combinaciones de teclas. Pon toda tu PATH
manipulación en ~/.profile
.