if - dicas e scripts utilizando if.

Atualizado em: 23/07/2006



Sobre este documento

Minha colinha sobre operadores em shell-script. sinais e simbolos em expressões regulares.

Cuidado, o resultado depende do aplicativo e posição em que foi usado, aqui em um breve resumo, por segurança consulte a documetanção do aplicativo onde deseja aplicar.

Ainda são rascunhos, vou acrescentar comentários e depois removo este aviso.

  -a   operador lógico "E" ("AND")
  -ge  maior ou igual que (greater or equal)
  -gt  maior que
  -le  menor ou igual que  (less or equal
  -lt  menor que 
  -eq  igual  (equal)
  -ne  diferente de (not equal)

; continuação da linha com comando que deveria estar em outra linha, serve para usar mais de um comando na mesma linha. Os dois comandos são executados na ordem em que são passados, independe do resultado.

./backup.sh ; rm -rf /home/fotos/maq01/*

rm -rf /home/fotos/maq01/* será executado mesmo quando falhar ./backup.sh, portanto sem controle, neste caso seria mais interessante incluir o rm no script e depois de comparar se o backup foi bem sucedido.

Outra opção com &&

./backup.sh && rm -rf /home/fotos/maq01/*

com "&&" em lugar de ; o segundo comando será executado somente quando o primeiro comando retornar OK. Dois comandos separados por &&, o segundo comando não será executado se o primeiro falhar.

Exemplo tradicional com make.

make && make install.

;; usado com (case), serve para finalizar a opção do case

^ Inicio da linha

$ final da linha

?

*

passar

{}

()

[]

.

+

-

\

` ` " " ' '

(||= OR)

&& (&& = AND)

mount /dev/hda1 /mnt/win && cp -ax /mnt/win/* /home/copiawin

o que vem depois de &&, neste exemplo o comando cp será executado somente quando o comando anterior for bem sucedido (mount).

Indicações

Página principal sobre script em geral (FAQ)
http://www.zago.eti.br/script/A-menu-scripts.html

Página principal deste site (FAQ)
http://www.zago.eti.br/menu.html