
서버의 각 사용자에 대한 세션 수를 계산하는 명령을 만들었습니다. 이것은:
who | awk '{ print $1}' | sort | uniq -c | sort
이것은 훌륭하게 작동하지만 서버의 별칭으로 이동하면 다시 돌아옵니다 who
.
alias who_con="who | awk '{ print $1}' | sort | uniq -c | sort";
큰 따옴표일지도 모른다고 생각하여 작은 따옴표로 감싸려고 시도했지만 동일한 동작이 발생했습니다.
alias who_con='who | awk "{ print $1}" | sort | uniq -c | sort';
답변1
달러를 탈출해야 합니다 $1
.
$ alias wW="who | awk '{ print \$1}' | sort | uniq -c | sort"
$ wW
1 tomasz
$1
쉘이 아닌 awk로 확장되어야 합니다. 추가 이스케이프가 없으면 쉘에 의해 확장됩니다. 또 다른 차원의 탈출이 필요합니다. 이는 또한 다음을 수행합니다.
$ alias who_con='who | awk "{ print \$1}" | sort | uniq -c | sort';
$ who_con
1 tomasz