Verificando se um comando foi bem -sucedido usando o '$?'Variável especial

Verificando se um comando foi bem -sucedido usando o '$?'Variável especial

Em Bash, geralmente é necessário verificar se um comando foi bem -sucedido ou falhou. Por exemplo, você pode executar diferentes comandos com base no sucesso ou falha de um comando, ou você pode executar o manuseio de erros em um script. Para verificar se um comando foi bem -sucedido ou falhou em Bash, você pode examinar o status de saída do comando. O status de saída de um comando é um valor numérico que indica o sucesso ou falha do comando. Um comando com um status de saída de 0 indica sucesso, e um comando com um status de saída diferente de zero indica falha.

Neste artigo, exploraremos maneiras diferentes de verificar o status de saída de um comando em Bash, incluindo o uso do '$?' variável especial, usando o '&&' e '||' operadores e usando scripts e funções. Compreender como verificar o status de saída de um comando em bash pode ser útil em vários cenários ao trabalhar com Bash.

Verificando se um comando conseguiu

Em Bash, você pode verificar se um comando foi bem -sucedido ou falhou examinando o status de saída do comando. O status de saída de um comando é um valor numérico que indica o sucesso ou falha do comando. Um comando com um status de saída de 0 indica sucesso, e um comando com um status de saída diferente de zero indica falha.

Para verificar o status de saída de um comando em bash, você pode usar o $? Variável especial, que armazena o status de saída do comando executado mais recentemente.

Por exemplo, considere o seguinte comando:

ls -l /etc /  

Este comando lista o conteúdo do '/etc' diretório em formato longo. Para verificar se este comando foi bem -sucedido, você pode usar o seguinte código:

ls -l / etc / se [$? -eq 0]; Então eco "comando bem -sucedido" else eco "comando falhou" fi
123456ls -l /etc /se [$? -eq 0]; Então eco "comando bem -sucedido" else eco "comando falhou" fi

Este código verifica o status de saída do comando LS examinando o valor do $? variável especial. Se o valor de '$?' é '0', O comando foi bem -sucedido e o código impressa “O comando conseguiu”. Se o valor de '$?' é diferente de zero, o comando falhou e o código impressa “Comando falhou”.

Verifique o status de saída de uma função

Você também pode usar o '$?' variável especial para verificar o status de saída de um comando em um script ou função. Por exemplo, considere o seguinte script:

#/usr/bin/Env Bash check_Command () comando se [$? -eq 0]; então retorne 0 mais, retorne 1 fi check_Command ls -l / etc / se [$? -eq 0]; Então eco "comando bem -sucedido" else eco "comando falhou" fi
1234567891011121314151617#/usr/bin/Env Bash check_Command () comando se [$? -eq 0]; então retorne 0 mais, retorne 1 fi check_Command ls -l /etc /se [$? -eq 0]; Então eco "comando bem -sucedido" else eco "comando falhou" fi

Este script define uma função check_Command que assume um comando como um argumento e verifica o status de saída do comando. A função retorna '0' Se o comando tivesse sucesso e '1' Se o comando falhar. O script chama a função check_command com o comando ls e verifica o status de saída da função, examinando o valor do '$?' variável especial. Se o valor de '$?' é '0', O comando foi bem -sucedido e o script impressa “O comando conseguiu”. Se o valor de '$?' é '1', O comando falhou e o script impressa “Comando falhou”.

Verifique o status de saída usando '&&' E '||' em Bash

Além de usar o '$?' variável especial, você também pode usar o '&&' e '||' operadores para verificar o status de saída de um comando e executar diferentes comandos com base no resultado. Por exemplo, considere o seguinte código:

ls -l / etc / && eco "comando bem -sucedido" || eco "comando falhou"
1ls -l / etc / && eco "comando bem -sucedido" || eco "comando falhou"

Este código verifica o status de saída do 'ls''Comando e executa comandos diferentes com base no resultado. Se o comando LS for bem -sucedido, o código impressa “O comando conseguiu”. Se o comando LS falhar, o código impressa “Comando falhou”.

Conclusão

Em conclusão, a verificação se um comando foi bem -sucedido ou falhado em Bash é uma tarefa útil que pode ser realizada examinando o status de saída do comando. O status de saída de um comando é um valor numérico que indica o sucesso ou falha do comando. Um comando com um status de saída de '0' indica sucesso e um comando com um status de saída diferente de zero indica falha. Para verificar o status de saída de um comando em bash, você pode usar o $? Variável especial, que armazena o status de saída do comando executado mais recentemente.

Você também pode usar o $? variável especial para verificar o status de saída de um comando em um script ou função ou usar o '&&' e '||' operadores para verificar o status de saída e executar diferentes comandos com base no resultado. Compreender como verificar o status de saída de um comando no bash pode ser útil em vários cenários, como quando você deseja executar diferentes comandos com base no sucesso ou falha de um comando ou quando deseja executar o manuseio de erros em um script.