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
사용자의 것이므로 필요하지 않습니다.