모든 명령의 실행 파일 가져오기

모든 명령의 실행 파일 가져오기

bash의 모든 명령에 의해 어떤 실행 파일이 실행되는지 알고 싶습니다.

예:

  1. 여기에 Firefox가 설치되어 있습니다 /usr/bin/firefox.$PATH
  2. alias browser=firefox
  3. alias br=browser

이제 이와 같은 내용을 입력하고 싶습니다. getexecutable "br"그러면 표시되어야 합니다./usr/bin/firefox

답변1

다음은 간단한 앨리어싱 사례에서 작동할 주석에 추가로 작성한 빠른 스크립트입니다. 그러나 매개변수 등이 있는 모든 작업에는 비참하게 실패합니다.

cmd="$1"
type=aliased
while [ "$type" = "aliased" ]; do
    output="$(type "$cmd")"
    type="$(cut -d ' ' -f 3 <<< "$output")"
    cmd="$(cut -d '`' -f 2 <<< "$output" | tr -d \')"
done
echo "$output"

서브쉘을 생성하면 로컬 별칭이 제거될 수 있으므로 이를 얻으려면 (아이러니하게도!) 별칭을 사용해야 합니다.

관련 정보