!["alias" 명령을 통해 매개변수를 전달할 수 있습니까? [복사]](https://linux55.com/image/65429/%22alias%22%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%ED%86%B5%ED%95%B4%20%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EB%A5%BC%20%EC%A0%84%EB%8B%AC%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
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
}
별칭은 항상 짧은 문자열을 긴 문자열로 대체합니다.