Cuando ejecuto echo $PATH
la salida duplicadacomplemento/bin:/complemento/binAparece al final y parece inusual.
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
¿Es esta duplicación no deseada? Si es así, ¿cómo se puede cambiar esto?
Respuesta1
Probablemente, en tu ~/.bashrc
o en tu ~/.profile
haya algún comando que agregue /snap/bin
al $PATH
sin revisar previamente si sigue en el $PATH
.
Tenga en cuenta que las entradas duplicadas en $PATH
la variable no tienen ningún impacto cuando ejecuta un comando que está en su archivo $PATH
. Por otro lado, la desaceleración puede estar presente cuando se ejecuta un comando que no está en $PATH
(porque la búsqueda de comandos se realiza, inútilmente, dos o más veces cuando hay entradas duplicadas), aunque creo que es difícil percibir esta desaceleración. Las entradas duplicadas también son un poco molestas cuando quieres comprobar visualmente tu $PATH
variable.
Si desea evitar entradas duplicadas en su archivo $PATH
, puede agregar este comando en su ~/.profile
archivo (es decirla mejor ubicación para las variables ambientales):
# remove duplicated paths in PATH variable
PATH="$(printf "%s" "$PATH" | awk -v RS=':' '!a[$1]++ {if (NR > 1) printf RS; printf $1}')"
Este comando se utiliza awk
para identificar cada elemento de la $PATH
variable (se separan mediante el :
carácter) y reconstruir la $PATH
variable evitando volver a agregar carpetas duplicadas. También conserva el tipo original de las carpetas dentro de la $PATH
variable.
Puede abrir ~/.profile
con su editor de texto preferido. Si lo abres por terminal, no lo necesitas sudo
porque pertenece a tu usuario.