기존 별칭 집합을 보고 모든 내용을 알려주는 별칭("ggg")을 원합니다.첫 번째G. 나는 g* 별칭을 많이 가지고 있습니다 :)
나는 이것을 시도했지만 alias ggg='alias | grep ^g'
나에게 어떤 출력 (또는 오류)도 제공하지 않습니다. 내가 가장 확신하지 못하는 것은 "줄 시작" 문자입니다.
답변1
zsh에서는
alias ggg='alias -m "g*"'
ggg
또는 자체적으로 인쇄되지 않도록 함수를 사용하십시오 .
ggg() alias -m 'g*'
"별칭"의 출력을 grep할 수도 있지만 여러 줄의 별칭이 있는 경우 제대로 작동하지 않을 수 있습니다.
Bash의 경우 다음 트릭을 사용할 수 있습니다.
(
alias() { [[ $1 = g* ]] && builtin alias "${1%%=*}"; }
eval "$(builtin alias)"
)
아이디어는 bash가 alias
동일한 별칭을 재현하기 위해 해석될 수 있는 일부 텍스트를 출력한다는 것입니다. 예를 들면 다음과 같습니다.
$ alias
alias a='foo'
alias goo='gar
baz
alias gro=grar'
alias
그래서 우리는 그것을 평가했지만, "g"로 시작하는 문자열이 전달될 때 실수만 호출하는 함수 로 재정의한 후에 .alias
답변2
별칭의 출력은 로 시작하는 줄입니다 alias
. 따라서 별칭은 다음과 같아야 합니다.
alias ggg='alias | grep "^alias g"'
답변3
그것은 쉘에 따라 다릅니다. bash를 사용하는 경우 @Dennis가 완전히 옳습니다. 왜냐하면 zsh
이를 활성화했다면 또 다른 문제가 될 수 있기 때문입니다. EXTENDED_GLOB
이 경우 ^
쉘이 이를 해석하고 인용해야 합니다. 즉:
alias ggg='alias | grep "^g"'