alias 명령을 사용하여 매개변수를 전달할 수 있는지 알고 싶습니다.
예를 들어:
alias d="dmesg|grep -iw usb|tail -5"
이제 d는 마지막 5줄을 인쇄합니다. d를 사용하여 다른 행 수를 인쇄하려면 d에 대한 별칭 명령 선언을 다시 변경해야 합니다.
줄 수를 변경하기 위해 선언을 다시 입력할 필요가 없도록 alias 명령의 선언을 수정할 수 있는 방법이 있습니까? d의 별칭을 선언할 때 행 번호를 매개변수로 전달하는 것과 같나요? 아니면 이 문제를 해결할 수 있는 다른 방법이 있나요?
답변1
"별칭"을 통해 매개변수를 전달할 수 있나요?
아니요. 별칭은 간단한 문자열 대체입니다.
기능을 사용하세요.
d(){
dmesg|grep -iw usb|tail -"$1"
}
답변2
이 경우 - 예, 인수가 마지막 인수이므로 예외를 만들 수 있습니다.
alias d='dmesg | grep -iw usb | tail'
d -5
작동해야합니다.
답변3
어떤 종류의 쉘을 사용합니까? zsh에서는 다음과 같이 매개변수를 전달할 수 있습니다.
d () {
dmesg|grep -iw usb|tail -$1
}
별칭은 항상 짧은 문자열을 긴 문자열로 대체합니다.