중복된 시스템 PATH 변수(snap/bin:/snap/bin)

중복된 시스템 PATH 변수(snap/bin:/snap/bin)

echo $PATH중복 출력을 실행할 때스냅/빈:/스냅/빈마지막에 나타나서 특이한 것 같습니다.

 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin

이 중복이 바람직하지 않습니까? 그렇다면 이것은 어떻게 바뀔 수 있습니까?

답변1

아마도 귀하 ~/.bashrc또는 귀하의 에 아직 있는지 확인하지 않고 에 ~/.profile추가하는 명령이 있을 것입니다 ./snap/bin$PATH$PATH

.$PATH$PATH​반면에 그렇지 않은 명령을 실행하면 $PATH(중복된 항목이 있을 때 명령 검색이 두 번 이상 쓸데없이 수행되기 때문에) 속도 저하가 나타날 수 있지만 이러한 속도 저하를 감지하기는 어려울 수 있습니다. 변수 를 시각적으로 확인하려고 할 때 중복된 항목은 약간 짜증나는 일이기도 합니다 $PATH.

에서 중복된 항목을 피하려면 파일 $PATH에 이 명령을 추가할 수 있습니다 ~/.profile(즉,환경 변수에 가장 적합한 위치):

# remove duplicated paths in PATH variable
PATH="$(printf "%s" "$PATH" | awk -v RS=':' '!a[$1]++ {if (NR > 1) printf RS; printf $1}')"

이 명령은 변수 awk의 모든 항목을 식별하고 $PATH(문자로 구분됨 :) $PATH중복된 폴더를 다시 추가하지 않고 변수를 다시 작성하는 데 사용됩니다. 또한 변수 내부 폴더의 원래 종류를 유지합니다 $PATH.

~/.profile원하는 텍스트 편집기로 열 수 있습니다 . 터미널에서 열면 sudo사용자의 것이므로 필요하지 않습니다.

관련 정보