./teste.sh: line 9: [: -eq: unary operator expected
ERRO
Esse erro é um erro de construção no shell. Minha dica é que você SEMPRE coloque a avaliação de variáveis entre aspas, porque se a variável não estiver definida ou tiver um valor nulo, a presença das aspas faz toda a diferença.
for var in exemplo teste ""; do
# Uso adequado, mesmo que “var” seja vazio ou indefinido: com aspas
[ "$var" = exemplo ] && echo "É 'exemplo'." || echo "Não é 'exemplo', é '$var'."
# Uso perigoso quando “var” for vazio ou indefinido: sem aspas
[ $var = exemplo ] && echo "É 'exemplo'." || echo "Não é 'exemplo', é '$var'."
done
O resultado da execução é o seguinte:
É 'exemplo'.
É 'exemplo'.
Não é 'exemplo', é 'teste'.
Não é 'exemplo', é 'teste'.
Não é 'exemplo', é ''.
bash: [: =: unary operator expected
Para esclarecer: quando você substitui um valor vazio ou indefinido entre aspas, o shell entende como um argumento existente, mas com tamanho zero. Sem aspas, ele simplesmente não coloca nada naquele lugar. No caso acima, o segundo comando [ é chamado como e fosse simplesmente “[ = exemplo ]”, sem argumento no lado esquerdo da comparação, o que é um erro.
Que tipo de comando eu posso usar para me trazer somente o resultado que a pagina funcionou ou não funcinou?
Eu mostrei o comando numa postagem anterior. Só não usei o wget, mas sim o curl, que é melhor para esse tipo de coisa.
só preciso criar um script dando um wget dizendo que a pagina funcionou ( no caso a pagina estar no ar) e não funcionou ( pagina fora do ar)
Como eu disse na outra postagem, o curl é mais amigável para uso em scripts do que o wget. Você tem mesmo de usar wget? Se tem, procure fazer algo semelhante ao que eu mostrei usando o curl.