Variable PATH del sistema duplicada (snap/bin:/snap/bin)

Variable PATH del sistema duplicada (snap/bin:/snap/bin)

Cuando ejecuto echo $PATHla 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 ~/.bashrco en tu ~/.profilehaya algún comando que agregue /snap/binal $PATHsin revisar previamente si sigue en el $PATH.

Tenga en cuenta que las entradas duplicadas en $PATHla 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 $PATHvariable.

Si desea evitar entradas duplicadas en su archivo $PATH, puede agregar este comando en su ~/.profilearchivo (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 awkpara identificar cada elemento de la $PATHvariable (se separan mediante el :carácter) y reconstruir la $PATHvariable evitando volver a agregar carpetas duplicadas. También conserva el tipo original de las carpetas dentro de la $PATHvariable.

Puede abrir ~/.profilecon su editor de texto preferido. Si lo abres por terminal, no lo necesitas sudoporque pertenece a tu usuario.

información relacionada