Linux: Controlar o fluxo de execução

em Linux bater scripts, você pode controlar o fluxo de execução - a ordem na qual os comandos são executados - usando comandos especiais, tais como E se, caso, para, e enquanto.

Estas declarações de controle usar o status de saída de um comando para decidir o que fazer a seguir. Quando qualquer comando é executado, ele retorna um estado de saída - um valor numérico que indica se ou não o comando foi bem sucedido. Por convenção, um status de saída zero significa que o comando teve êxito. (Sim, você leu certo: Zero indica sucesso!) Um estado de saída diferente de zero indica que algo está errado com o comando.

Por exemplo, suponha que você deseja fazer uma cópia de backup de um arquivo antes de editá-lo com o vi editor. Mais importante, você quer evitar a edição do arquivo se um backup não pode ser feita. Aqui está um script que cuida desta tarefa:

#! / Bin / cp shif "$ 1" "# $ 1" thenvi "$ 1" elseecho "Falha ao criar cópia de backup" fi

Este script ilustra a sintaxe do if-then-else estrutura e mostra a forma como o estado de saída do cp de comando é usado pela E se comando para determinar a próxima ação. E se cp retorna zero, o script usa vi para editar o file- contrário, o script exibe uma mensagem de erro e sai.

By the way, o script salva o backup em um arquivo cujo nome é a mesma que a do original, exceto para o jogo da velha (#) adicionado no início do nome do arquivo.

Não se esqueça a final fi que termina o E se comando. esquecendo fi é uma fonte comum de erros nas bater scripts.

menu