별칭 내에서 별칭이 없는 명령 버전에 어떻게 액세스할 수 있나요? Bash에서는 alias ls='\ls -l'
이 별칭 내의 비별칭 액세스와 같은 작업을 수행할 수 있습니다 . 물고기에게 어떻게 이런 일을 할 수 있나요?ls
ls
지금은 env
이 명령을 사용하여 실행 파일을 가져오고 있는데 더 좋은 방법이 있습니까?
alias man='PAGER="bat -p" /usr/bin/env man'
답변1
간단한 상황에서는 물고기가 alias
스스로 알아낼 것입니다.
이렇게 하면 alias ls='ls -l'
다음과 같은 기능이 생성됩니다.
function ls --description 'alias ls=ls -l'
command ls -l $argv
end
왜냐하면
- Fish는
alias
기능을 정의하는 싸구려 래퍼입니다. - 이름으로 명령을 호출하고 함수를 건너뛰고 내장 명령을 사용하는 방법은 다음과 같습니다.
command
그래서 당신은 할 수 있습니다
alias man='PAGER="bat -p" command man'
(마찬가지로 builtin foo
내장된 "foo"를 호출하면 모든 기능을 건너뜁니다.)
이 특정한 경우에 가장 좋은 해결책은 별칭을 완전히 건너뛰고 $MANPAGER를 설정하는 것입니다.
set -gx MANPAGER "bat -p"
또한 함수를 직접 정의하여 Fish 별칭 관련 문제를 방지할 수 있습니다.
function man
PAGER="bat -p" command man $argv
end
또는 사용약어대신에.