o que significa se [[-e $ filename]] significa

1

Eu tenho este código de script shell legado do Linux que estou tentando entender. Eu apreciaria qualquer explicação:

if [[ -e $fileName]]; then

O que eu estou curioso sobre o que significa suporte duplo?

    
por Samer 31.05.2016 / 23:05

1 resposta

2

Resposta curta : está dizendo ao shell para verificar a existência de $filename para saber se deve escolher a declaração then ou else .

Antes que a declaração if possa ser avaliada, a condição precisa ser testada - ela é verdadeira ou é falsa? Aqui, [[ ]] denota uma variável booleana cujo valor depende da expressão dentro. Tradicionalmente, [ ] era a sintaxe bash para emitir o comando test , retornando o valor da expressão, independentemente do tipo e em qualquer contexto. Versões mais recentes do bash adotaram [[ ]] como uma palavra-chave exclusivamente para instruções if. Eu imagino que isso impede erros de tipo, ou algo assim.

    
por planpony69 01.06.2016 / 06:00