당신이 묻는 것은 실제로 의미가 없습니다.
키워드 는 쉘 구문의 일부인 단어를 의미합니다. 그것들은 토큰 화를 통해 인식됩니다. 그것들을 인용하면 쉘이 인식을 멈추기에 충분합니다.
그래도 대부분의 쉘에서 키워드의 별칭을 지정할 수 있습니다. 따라서 별칭이 키워드보다 우선합니다 (사실상 확장되고 더 많은 별칭, 키워드를 가질 수있는 이후 토큰 화가 더 많이 발생 함).
별명 (으로 정의 된 zsh 별명 제외 alias -g)은 명령 위치에서만 확장되므로 일반적으로는 그렇지 않습니다 builtin the-alias.
함수는 내장 명령보다 우선 순위가 높고 외부 명령보다 내장 기능이 있으며 $PATH사용할 명령을 결정합니다.
다음을 사용하여 내장을 강제 실행할 수 있습니다.
builtin the-cmd and its args
(표준 명령이 아님에 유의해야합니다).
인용 된 버전은 일부 쉘에서 별명을 지정할 수 있지만 별명을 인용하여 별명을 사용 불가능하게 할 수 있습니다.
예를 들어 (여기서는 zsh 구문)
'while'() echo function while
alias 'while=echo alias while'
쓰면 while true실제로 출력 alias while true이되며, while키워드를 인용하면 별칭과 키워드가 모두 사용 중지되므로 키워드 를 사용할 수있는 방법이 없습니다 .
while예를 들어 다음과 같이 함수를 호출합니다 .
'whi'le whatever
거기에 있었다면 while내장을 (하지만 물론 자신이 가지고 그 껍질에없는 것 while키워드를), 당신은 그것을 쓰는 것입니다 :
builtin while whatever
그리고 while명령 을 호출하려면 다음과 같이 작성하십시오.
env while whatever
또는 zsh( sh에뮬레이션 상태가 아닌 경우 ) :
command while whatever
(다른 쉘에서는 command내장 기능이 아닌 기능 만 방지합니다)
또는
/full/path/to/while whatever
물론, 다음과 같이 더 사소한 일을하는 것을 막는 것은 없습니다.
alias 'while=while "w"hile; do'
"while"() { while "whi"le; done; }
적어도 zsh에서는 유효하지만 어리 석습니다.
command억제하고 함수 조회를 억제하지만 이들 중 어느 것도 사용할 동의어를 지정하지 않습니다. 특정 동의어 만 실행하도록 지정하는 방법을 찾고 있습니다.