![긴 명령의 별칭을 지정하면 해당 명령의 일부만 가져옵니다.](https://linux55.com/image/93131/%EA%B8%B4%20%EB%AA%85%EB%A0%B9%EC%9D%98%20%EB%B3%84%EC%B9%AD%EC%9D%84%20%EC%A7%80%EC%A0%95%ED%95%98%EB%A9%B4%20%ED%95%B4%EB%8B%B9%20%EB%AA%85%EB%A0%B9%EC%9D%98%20%EC%9D%BC%EB%B6%80%EB%A7%8C%20%EA%B0%80%EC%A0%B8%EC%98%B5%EB%8B%88%EB%8B%A4..png)
다음과 같은 유효한 명령이 있습니다.
ls -la | awk '$5 > 2'
나는 모든 것에 대한 별칭을 찾으려고 노력하고 있습니다. 순진한 방법을 시도하면 다음과 같습니다.
alias ll "ls -la | awk '$5 > 2'"
이것은 작동하지 않습니다.
달러 기호를 피하려고 하면 명령의 일부만 표시됩니다 ll
.ls -la | awk $5
이 별칭을 원하는 방식으로 정의하려면 어떻게 해야 합니까?
답변1
별칭이 간단한 명령보다 더 복잡하다면 셸 함수를 사용하세요.
lz () {
ls -la | awk '$5 > 2'
}
...또는 별칭으로 더 간단하고 적합한 명령을 찾으세요.
alias lz='find . -maxdepth 1 -size +2c -ls'
설명서에는 bash
다음 내용이 포함되어 있습니다.
거의 모든 목적에서 별칭은 쉘 함수로 대체됩니다.
답변2
탈출, 평등
$ alias ll="ls -la | awk '\$5 > 2'"
$ alias|grep ll
ll='ls -la | awk '\''$5 > 2'\'