tcsh에서 별칭을 일시적으로 우회하는 방법은 무엇입니까?

tcsh에서 별칭을 일시적으로 우회하는 방법은 무엇입니까?

저는 tcsh를 사용하고 있습니다. bash, zsh 및 기타 제안은 여기서 도움이 되지 않습니다.

다른 명령과 이름이 같은 별칭이 여러 개 있으므로 별칭을 해제하면 동일한 내용을 입력해도 다른 작업이 수행됩니다.

대부분의 경우 별칭 명령을 원하기 때문에 이 명령을 사용합니다. 그러나 때로는 앨리어싱되지 않은 명령을 원할 때도 있습니다.

실제로 명령의 앨리어싱을 해제하고 재정의하지 않고 tcsh에게 앨리어싱되지 않은 명령을 사용하도록 지시하는 쉬운 방법이 있습니까?

예를 들어 vi는 vim의 별칭이지만 때로는 vi만 사용하고 싶을 때도 있습니다. cd는 창 제목을 변경하는 별칭이지만 가끔은 그대로 두고 싶을 때가 있습니다.

분명히 /usr/bin/vi를 입력할 수 있지만 cd는 쉘 내장이므로 동등한 것이 없습니다. 보편적인 해결책이 있나요?

답변1

백슬래시를 사용할 수 있습니다.

% alias ls ls -a
% ls
# ls -a output here
% \ls
# plain ls output here

쉘 내장을 사용하면 문제가 있습니다. 선행 백슬래시는 별칭과 내장의 사용을 방지하지만 내부 백슬래시는 별칭만 억제합니다.

% alias cd pushd
% cd /tmp
/tmp /tmp 
% c\d
% dirs
~ /tmp

(나는 이것을 csh쉘 패밀리 사용에 대한 또 다른 주장이라고 부르고 싶습니다.)

답변2

쉘 내장 명령을 손상시키는 별명을 작성하지 마십시오.당신의 인생은 훨씬 쉬워 질 것입니다. 키 조합도 많습니다. cw창 제목 별칭을 변경해 보세요. :)

편집하다:귀하에게 속하지 않은 별칭을 수정하는 2단계 솔루션:

  1. 디렉토리 변경 명령이 아닌 다른 별명을 사용하여 원숭이를 찾아 cd지역 신문의 칼럼으로 이동하도록 요청하십시오. 그는 그런 생각을 다른 사람에게 강요할 수 있는 직업에 있어서는 안 됩니다!
  2. echo unalias cd >> ~/.bashrc

답변3

명령 앞에 "명령"이라는 단어를 추가합니다. 전임자.

command ls

관련 정보