O que '==' faz na expansão zsh?

0

Eu encontrei este código:

map () {
    eval "$initDocs"
    usage "<lambda-function> [<item>...]"
    example "'<--- \ --->'" a b c d
    eval "$doneDocs"
    typeset f="$1"
    shift
    map_ () {
        echo ${(e)==f}
    }
    eval "$loopNow" map_
}

Eu não entendo qual é a diferença entre ${(e)f} e ${(e)==f} .

    
por HappyFace 18.10.2018 / 14:31

1 resposta

1

De zshexpn(1) :

${=spec}

    Perform word splitting using the rules for SH_WORD_SPLIT during the
    evaluation of spec, but regardless of whether the parameter appears
    in double quotes; if the '=' is doubled, turn it off.

Em outras palavras, a especificação ${==f} desativa explicitamente SH_WORD_SPLIT para essa expansão única, independentemente de estar ativa globalmente.

    
por 18.10.2018 / 15:52

Tags