내 시스템에는 두 가지 버전의 컬이 설치되어 있습니다. 하나는 http2를 지원합니다.
바이너리를 가리키는 데 사용할 수 있다고 생각했지만 which
예상대로 작동하지 않는 것 같습니다.
$ curl --http2 -I https://something.example.com
curl: (1) Unsupported protocol
$ which curl
/usr/local/bin/curl
$ /usr/local/bin/curl --http2 -I https://something.example.com
HTTP/2 200
server: nginx/1.10.0 (Ubuntu)
date: Thu, 08 Jun 2017 20:55:09 GMT
content-length: 928
last-modified: Thu, 08 Jun 2017 19:43:10 GMT
cache-control: public, max-age=31536000
accept-ranges: bytes
which
로컬로 빌드된 바이너리를 가리키고 있지만 /usr/local/bin/curl
실제 명령은 패키지 바이너리를 실행하고 있습니다./usr/bin/curl
나는 컬에 대한 별칭이 없습니다. 누군가 이것이 왜 그런지 설명해 주시겠습니까? 그리고 제가 알고 있는 컬의 실제 경로를 찾으려면 어떤 명령을 실행해야 할까요?/usr/bin/curl
답변1
실행하는 경우:
echo $PATH
다음과 비슷한 것을 얻게 될 것입니다.
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
보시다시피 /usr/local/bin
우선순위가 더 높으므로 bash는 로컬에 설치된 컬 버전을 먼저 찾고 더 이상 검색을 중지합니다.
PATH
환경 변수를 편집하여 이 동작을 변경할 수 있습니다 (예: (in .profile
)):
PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/sbin:/usr/local/bin