다른 명령에 제공된 인수를 사용하여 명령의 별칭 설정

다른 명령에 제공된 인수를 사용하여 명령의 별칭 설정

즉, tail -f별칭을 사용 하고 싶지만 less +F제공된 다른 인수를 사용하여 이전과 동일한 방식으로 tail이 작동하도록 합니다.

답변1

이는 쉘 별칭(bash 가정)이 제공하는 기능을 약간 뛰어넘는 것입니다. 함수를 정의할 수 있습니다.

function tail() {
    if [ "$1" == '-f' ]; then
        shift
        less +F "$@"
     else
         command tail "$@"
     fi
 }

을 입력하면 tail이것은 이제 위에 정의된 함수를 참조하여 첫 번째 인수(있는 경우)가 동일한지 확인 -f하고 일치하는 경우 less +F나머지 원래 인수( shift첫 번째 원래 인수 제거 -f)에 대해 작동합니다. 그렇지 않으면 모든 원래 인수를 사용하여 명령을 호출합니다 tail(무한 루프를 방지하려면 내장 함수를 호출 command해야 합니다. 내장 함수가 없으면 tail정의 중인 함수가 참조되어 무한 루프가 발생합니다).

관련 정보