O que faz o + em $ + comandos […]?

3

Aqui está outra pergunta impossível de pesquisar: como interpretar $+commands[foobar] ? Eu suponho que é uma variante de $commands[foobar] , mas quem sabe. (Com zsh, pelo menos eu nunca sei.)

Eu também gostaria de saber como alguém poderia procurar a resposta para essa pergunta, seja na documentação do zsh ou on-line.

    
por kjo 19.10.2015 / 04:56

1 resposta

5

Isso foi documentado em seção Expansão de Parâmetros na documentação do zsh :

${+name}
  If name is the name of a set parameter ‘1’ is substituted, otherwise ‘0’
  is substituted.

Exemplo:

$ unset foo
$ if (( $+foo )); then echo set; else echo not set; fi
not set
$ foo=1
$ if (( $+foo )); then echo set; else echo not set; fi
set

Em $+commands[foobar] , zsh verifique se o nome retornado por $commands[foobar] é um parâmetro definido.

    
por 19.10.2015 / 05:49

Tags