Não, os backticks não têm um significado especial e você pode executar o comando wget
sem eles na instrução if
.
if
sempre avalia o código de saída do comando seguido.
Uma visão geral mais abrangente pode ser encontrada aqui .
EDITAR
Backticks iniciam uma substituição de comando que é executada em uma subshell e retorna um código de saída. if
apenas verifica os códigos de retorno, ele não faz uso da saída do comando.
Para comparar a saída de um comando, você pode usar o [
, que deve ser fechado com ]
, que basicamente é um teste. O teste pode ser qualquer coisa
- de
man test
-
uma comparação de string
[ "hello" == "test" ]
-
um teste inteiro
[ 2 -eq 3 ]
Se o teste for bem-sucedido, você receberá um código de saída 0 (verdadeiro); caso contrário, não será 0 (falso), o que é novamente avaliado por if
.
Então você tem algo em mente como segue.
if [ "'wget google.com -T 2 -t 1 -o /dev/null'" == "" ]
then
echo "emptY"
fi
Mas isso não faria muito sentido, pois o redirecionamento da saída para /dev/null
sempre será real de [ "
wget google.com -T2 -t1 -o / dev / null " == "" ]
.
Por outro lado, também não seria útil verificar se a saída do comando wget
contém saída, deixando de fora o -o /dev/null
, porque mesmo em uma situação de erro, você obterá a saída, mas códigos de retorno diferentes.