Recurso Sudo em zsh

Recurso Sudo em zsh

Estou usando o zsh no meu Linux e também no meu MAC. Porém, em ambos os ambientes, tenho um "problema".

Quando digito " !! ", não funciona no zsh, mas sim no bash. Mais, é muito útil com "sudo!!". Como posso fazer funcionar com zsh? Preciso criar um alias em meu .zshrc ?

Responder1

A BANG_HISTopção está desativada para zsh:

BANG_HIST(+K) <C> <Z>

Realize a expansão do histórico textual,csh-style, tratando o personagem `!' especialmente.

Isso pode acontecer através de um dos três métodos:

  1. Ao defini-lo explicitamente com set/ setopt. Em algum lugar na configuração do seu shell há uma linha como uma destas:

     setopt NO_BANG_HIST
     setopt -o NoBangHist
     setopt +o banghist
     set -o nobanghist
     set +o BANG_hist
    

    O caso não importa e _é ignorado no nome da opção. BANG_HISTativa o recurso e anexar NO( NO_BANG_HIST) desativa o recurso. -odefine o estado do recurso conforme fornecido pelo nome, +oinverte o significado.

  2. Começando zshcom a -Kopção de linha de comando:

    zsh -K
    

    Você também pode defini-lo explicitamente, zsh +Kmas isso pode ser substituído setoptna configuração.

  3. Iniciando zshno modo de emulação para shou ksh:

    ln -s /bin/zsh /usr/local/bin/ksh
    /usr/local/bin/ksh
    

    Nesse caso, o recurso também pode ser definido posteriormente com setopt, mas não pela opção de linha de comando ( /usr/local/bin/ksh +Knão funciona).

Responder2

Meu zsh tem!!

Eu instalei o zsh agora e !!funciona como no bash.

Talvez você precise atualizá-lo?

Minha versão é5.0.2-3ubuntu6

Mas se o seu zsh não tiver:

Conforme respondidoaquivocê precisa adicionar isso ao seu .zshrcarquivo:

alias ii='$(fc -ln -1)'

Responder3

OK. Parece que eu tinha opções antigas de "definir opção" em meu .zshrc causando o problema.

Eu descobri testando cada item do meu .zshrc. Sorte minha, não foram as últimas opções.

Testarei mais tarde qual opção específica preciso alterar ou remover.

Cumprimentos

informação relacionada