Por que colocar ponto e vírgula em um e não em outro?
O resultado é o mesmo
Código um
if [ "a" == "a" ]
then
echo "true"
fi
Código dois
if [ "a" == "a" ];
then
echo "true";
fi
Ponto e vírgula no segundo código são desnecessários?
Quando é necessário colocar ponto e vírgula?
svn up; make
;;
são usados para separar correspondências nas instruções de caso.;;
é obrigatório aqui, não é opcional .... mas;;
não é a mesma coisa que;
ou; ;
, apenas se parece um pouco com isso. Ponto-e-vírgula simples;
funcionam normalmente nas partes COMMANDS de uma instrução de caso.Respostas:
O ponto e vírgula é necessário apenas quando o final da linha está ausente:
Sem ponto e vírgula, você recebe um erro de sintaxe.
Não entendi sua pergunta sobre aspas. Você pode ser mais específico?
(E, a propósito, usar em
=
vez de==
é mais portátil e compatível com POSIX).fonte
O ponto-e-vírgula é frequentemente usado, porque algumas pessoas (/ eu, por exemplo) gostam de um estilo como este:
Portanto, se a palavra-chave then for colocada na linha de condição, será necessária porque um novo comando é iniciado, conforme escrito por choroba.
Em relação às aspas na verificação de condição, elas são frequentemente usadas com variáveis para garantir que nenhuma exceção ocorra se nada for atribuído à variável. Esse é um estilo mais seguro e parece desnecessário, mas mesmo na programação de shell, de tempos em tempos, os programas são processados, embora o conteúdo não possa ser atribuído a variáveis. Em seguida, o comando ainda está funcionando porque uma string vazia é comparada.
fonte