`type -a ls`는 세 개의 동일한 ls 주소를 생성합니다.

`type -a ls`는 세 개의 동일한 ls 주소를 생성합니다.

명령을 확인하면 ls시리즈가 있습니다.

$ type -a ls
ls is /usr/local/opt/coreutils/libexec/gnubin/ls
ls is /usr/local/opt/coreutils/libexec/gnubin/ls
ls is /usr/local/opt/coreutils/libexec/gnubin/ls
ls is /bin/ls

폴더에서 보는 경우

$ ls /usr/local/opt/coreutils/libexec/gnubin/ | grep "ls"
false
ls

세 개가 아닌 단일 ls 명령입니다.

type -a가 세 개의 동일한 항목을 생성하는 이유는 무엇입니까 /usr/local/opt/coreutils/libexec/gnubin/ls?

답변1

/usr/local/opt/coreutils/libexec/gnubinPATH당신에게 한 번 이상 나타났습니다.type -a세 번 살펴보니 ls모든 항목이 거기에서 발견되었다고 보고되었습니다.

PATH( echo "$PATH")를 확인하여 이를 확인하거나 이를 조작하여 동작을 복제하고 수정할 수 있습니다.

PATH=/bin:/bin type -a ls
PATH=/usr/local/opt/coreutils/libexec/gnubin:/bin type -a ls

환경 설정 어딘가에서 변수가 여러 번 설정되고 있습니다. 이는 PATH=/usr/local/opt/coreutils/libexec/gnubin:$PATH추가 줄을 여러 번 추가하는 자동화된 스크립트를 실행하기 때문일 수 있습니다.

관련 정보