Bash 매뉴얼에서
type [-afptP] [name ...]
각 이름에 대해 명령 이름으로 사용될 경우 어떻게 해석되는지 표시하십시오.
-p 옵션을 사용하는 경우 type은 실행할 디스크 파일의 이름을 반환하거나, -t가 "file"을 반환하지 않으면 아무것도 반환하지 않습니다.
-P 옵션은 -t가 "file"을 반환하지 않더라도 모든 이름에 대해 경로 검색을 강제합니다.
명령이 해시된 경우 -p 및 -P는 해시 값을 인쇄합니다. 이는 반드시 $PATH의 첫 번째 파일일 필요는 없습니다.
-a 옵션을 사용하면
type
다음과 같은 실행 파일이 포함된 모든 위치를 반환합니다.file
. 여기에는 -p 옵션이 사용되지 않는 경우에만 별칭과 기능이 포함됩니다.
file
"-a 옵션을 사용하면 다음 과type
같은 이름이 포함된 파일을 반환합니다.문서"대신name
에?"-P
동일 합니까-ap
?
감사해요.
답변1
- 아마도 그렇습니다.
완전한 것은 아니고. 따라서 사용 사례는
-P
명확합니다.-P
"stronger"로 사용할 수 있습니다-p
. 예를 들어:$ type [ [ is a shell builtin
$ type -p [
위에서 말한
type -p [
대로 아무 것도 반환되지 않습니다 (모든 설명서에 이런 식으로 수행하라고 나와 있으므로type -t [
의미가 있습니다 ).builtin
-p
하지만:
$type -P [ /usr/bin/[
이 플래그는
-P
검색이PATH
변수 내에서 이루어지도록 강제하여 일부 출력을 얻습니다.
즉, 내 시스템에서는 서로 다른 수의 중복 항목이 출력됩니다 type -ap
. 예를 들어, 나에게 행 하나만 제공하면서 세 번 생성합니다. 이는 /usr/bin이 여러 다른 위치에 심볼릭 링크되어 있기 때문일 가능성이 높습니다. 또 다른 (미묘한) 차이점이 있습니다.type -P
type -ap echo
/usr/bin/echo
type -P echo
-a 옵션을 사용하면 type은 다음을 포함하는 모든 항목을 반환합니다.실행 가능 파일Named . 이 옵션도 사용되지 않는
file
경우에만 별칭과 함수가 포함됩니다 .-p
그래서 내가 이렇게 하면 기꺼이 돌아올 것이지만 sudo touch /bin/bogus
나 에게 아무것도 주어지지 않을 것입니다.type -P bogus
/usr/bin/bogus
type -ap bogus