내 별칭이 어떤 명령을 실행하고 있나요? [복사]

내 별칭이 어떤 명령을 실행하고 있나요? [복사]

존재하다이것질문은 실행 파일이 어디에 있는지 알아내려면 를 실행해야 한다고 반복적으로 제안합니다 command -v file.

command -v ls나는 이것을 몇 가지 다른 시스템에서 실행 해 보았지만 계속해서 (항상 Bash alias ls='ls --color=auto'에서) 발생합니다.

세 가지 질문이 있습니다.

  1. 내가 무엇을 놓치고 있나요? 어떻게 command -v ls도움이 되나요?

  2. which(링크된 질문에 대한 의견과 답변에 따라) 작동하지 않고 질문 1에서 아무것도 누락되지 않고 도움이 된다고 가정하면 어느 것이 실제로 작동하는지 command -v ls어떻게 알 수 있습니까 ?ls

  3. 이 문제를 해결하는 POSIX 호환 방법은 무엇입니까? 내 예는 Bash에 있지만 휴대용 솔루션을 원합니다. 나는 에 대해 알고 있습니다 type -P.

답변1

나는 세 가지 질문 모두에 대한 답을 찾았다고 믿습니다. 한 번 보면 뻔한데 내겐 뻔하지 않아별말씀을요, 따라서 질문입니다.

  1. 별칭 삭제
  2. 달리기 command -v. (바라보다POSIX여기).
  3. 그것이 사람의 바람이라면 현실적이다.

어떻게 해야 할지 모르시는 분들을 위해 아래에 이 프로세스를 적용한 구체적인 예를 보여드리겠습니다 ls.

$ command -v ls
alias ls='ls --color=auto'
$ unalias ls                   # Step 1 above
$ command -v ls                # Step 2 above
/bin/ls
$ alias ls='ls --color=auto'   # Step 3 above
$ command -v ls
alias ls='ls --color=auto'

관련 정보