Significado de uma linha em um script bash

1

Alguém pode me ajudar a entender o significado dessa linha a partir de um script bash?

[ "$2" = "" ] && >$1 && return
    
por iman453 11.09.2010 / 20:45

1 resposta

7

&& é o operador “e”: ele executa o comando da esquerda e, se esse comando for verdadeiro (ou seja, sai com um status 0), ele executa o comando à direita.

[ "$2" = "" ] testa se o segundo parâmetro da função delimitadora (ou script, se usado fora de uma função) está vazio. (Se houver menos de dois parâmetros, $2 está vazio.)

>$1 é o comando vazio redirecionado para o arquivo cujo nome é o primeiro parâmetro $1 . Isso cria um arquivo vazio, se ele não existir, e esvazia o arquivo, se já existir. Este comando pode falhar se o script não tiver permissão para criar ou modificar o arquivo.

return sai da função de inclusão.

Assim, o significado desta linha é: se $2 estiver vazio, crie ou trunque o arquivo chamado $1 e, se for bem-sucedido, retorne da função.

    
por 11.09.2010 / 20:59