@RiGs

Bash проверка открытого порта. Как проверить результат работы команды?

Имеется задача с помощью bash-скрипта проверять, открыт ли порт и в зависимости от результата выполнять то или иное действие.
Не могу понять как проверить результат работы команды NC в условии if, что то вроде этого
#!/bin/bash

RESULT=$(nc -z <host> <port>)

if [$RESULT]; then
echo 'Открыт'
else
echo 'Закрыт'
fi

но не работает
  • Вопрос задан
  • 3372 просмотра
Решения вопроса 1
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
Переменная $? содержит результат последней выполненной команды (0=успех)

#!/bin/bash

nc -z <host> <port>

if [ $? -ne 0 ]; then
echo 'Открыт'
else
echo 'Закрыт'
fi
Ответ написан
Комментировать
3vi1_0n3
@3vi1_0n3
Bash скрипт без nc, с использованием того же $?
echo "" > /dev/tcp/192.168.1.10/443 && echo "Opened" || echo "Closed"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы