
저는 MAC뿐만 아니라 Linux 박스에서도 zsh를 사용하고 있습니다. 그러나 두 환경 모두에서 "문제"가 있습니다.
" !! "를 입력하면 zsh에서는 작동하지 않지만 bash에서는 작동합니다. 게다가 "sudo !!"와 함께 사용하면 정말 유용합니다. zsh에서 어떻게 작동하게 할 수 있나요?. .zshrc에 별칭을 지정해야 합니까?
답변1
다음에서는 이 BANG_HIST
옵션이 비활성화되었습니다 zsh
.
BANG_HIST(+K) <C> <Z>
텍스트 히스토리 확장을 수행하고,csh-스타일, 캐릭터를 다루는 `!' 특별히.
이는 다음 세 가지 방법 중 하나를 통해 발생할 수 있습니다.
set
/ 로 명시적으로 설정합니다setopt
. 쉘 구성 어딘가에 다음 중 하나와 같은 줄이 있습니다.setopt NO_BANG_HIST setopt -o NoBangHist setopt +o banghist set -o nobanghist set +o BANG_hist
대소문자는 중요하지 않으며
_
옵션 이름에서는 무시됩니다.BANG_HIST
기능을 활성화하고 앞에NO
(NO_BANG_HIST
)를 추가하면 기능이 비활성화됩니다.-o
이름에 따라 기능의 상태를 설정하고+o
의미를 반전시킵니다.zsh
명령줄 옵션 으로 시작하여-K
:zsh -K
를 사용하여 명시적으로 설정할 수도 있지만 구성에서
zsh +K
이를 재정의할 수 있습니다 .setopt
또는
zsh
에뮬레이션 모드에서 시작 :sh
ksh
ln -s /bin/zsh /usr/local/bin/ksh /usr/local/bin/ksh
이 경우 기능은 나중에 를 사용하여 설정할 수도 있지만
setopt
명령줄 옵션으로는 설정할 수 없습니다(/usr/local/bin/ksh +K
작동하지 않음).
답변2
내 zsh는!!
지금 zsh를 설치했고 !!
bash에서 작동하는 것처럼 작동합니다.
어쩌면 업데이트해야할까요?
내 버전은5.0.2-3ubuntu6
그러나 zsh에 없는 경우:
답변대로여기파일 에 다음을 추가해야 합니다 .zshrc
.
alias ii='$(fc -ln -1)'
답변3
좋아요. 문제를 일으키는 .zshrc에 오래된 "set opt" 옵션이 있는 것 같습니다.
내 .zshrc의 모든 항목을 테스트하여 알아냈습니다. 운 좋게도 이것이 마지막 옵션은 아니었습니다.
어떤 특정 옵션을 변경하거나 제거해야 하는지 나중에 테스트해 보겠습니다.
문안 인사