긴 명령의 별칭을 지정하면 해당 명령의 일부만 가져옵니다.

긴 명령의 별칭을 지정하면 해당 명령의 일부만 가져옵니다.

다음과 같은 유효한 명령이 있습니다.

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다음 내용이 포함되어 있습니다.

거의 모든 목적에서 별칭은 쉘 함수로 대체됩니다.

관련된:왜 `ls`를 구문 분석하지 *않나요*?

답변2

탈출, 평등

$ alias ll="ls -la | awk '\$5 > 2'"
$ alias|grep ll                                       
ll='ls -la | awk '\''$5 > 2'\'

관련 정보