Quando executo echo $PATH
a saída duplicadasnap/bin:/snap/binaparece no final e parece incomum.
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
Essa duplicação é indesejada? Se sim, como isso pode ser mudado?
Responder1
Provavelmente no seu ~/.bashrc
ou no seu ~/.profile
existe um comando que adiciona /snap/bin
ao $PATH
sem verificar previamente se ainda está no $PATH
.
Considere que entradas duplicadas na $PATH
variável não têm nenhum impacto quando você executa um comando que está no seu arquivo $PATH
. A lentidão pode estar presente, por outro lado, quando você executa um comando que não está $PATH
(porque a busca do comando é realizada, inutilmente, duas ou mais vezes quando há entradas duplicadas), embora eu ache difícil perceber essa lentidão. Entradas duplicadas também são um pouco irritantes quando você deseja verificar visualmente sua $PATH
variável.
Se você quiser evitar entradas duplicadas no seu arquivo $PATH
, você pode adicionar este comando no seu ~/.profile
arquivo (isto éa melhor localização para variáveis ambientais):
# remove duplicated paths in PATH variable
PATH="$(printf "%s" "$PATH" | awk -v RS=':' '!a[$1]++ {if (NR > 1) printf RS; printf $1}')"
Este comando serve awk
para identificar cada item da $PATH
variável (eles são separados por meio do :
caractere) e reconstruir a $PATH
variável evitando adicionar novamente pastas duplicadas. Também preserva a classificação original das pastas dentro da $PATH
variável.
Você pode abrir ~/.profile
com seu editor de texto preferido. Se você abrir pelo terminal, não precisa sudo
porque ele pertence ao seu usuário.