… и выполнить те или иные операции в зависимости от результата проверки, используя командный процессор, например bash.
Примерно так формулируется очередная небольшая задача, возникающая в ежедневном потоке рутины автоматизации работы.
Существует множество подходов, а мне нравится использовать утилиту netcat или nc. Вот пример логики для пакетного исполняемого файла:
|
|
#/bin/bash nc -z 127.0.0.1 3306 \ && echo "Порт уже открыт, видимо mysql запущена" \ || echo "Порт свободен"; |
В примере выше, мы проверяем стандартный порт MySQL — 3306. Если он уже используется, nc возвращает true и выполняется следующая команда в цепочке — выводится сообщение о том, что порт уже открыт. В противном случае выполняется следующая команда с сообщением, что порт не занят.
Для более сложных скриптов можно воспользоваться оператором if — then — else, тогда скрипт будет выглядеть так:
|
|
#/bin/bash if nc -z 127.0.0.1 3306; then echo "Порт уже открыт, видимо mysql запущена"; else echo "Порт свободен"; fi; |
Второй вариант более читабельный и позволяет легко конструировать вложенные условия.
UNIX
Данная запись опубликована в 31.01.2023 13:46 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 17, 2022 г.
Команда su позволяет выполнить любую операцию от имени существующего пользователя.
К примеру от имени пользователя nginx:
[crayon-693c3a3f10690463597549/]
Должно вывести nginx, но скорее всего ничего не получится и вы увидите сообщение
...
Читать
Март 17, 2024 г.
В Unix для замены текстового значения в группе файлов можно использовать утилиту rpl.
Установите rpl:
[crayon-693c3a3f10981494731382/]
Для замены тестовой строки выполните команду в файле FILENAME:
[crayon-693c3a3f1098a360515052/]
Подстановка ...
Читать
Сентябрь 26, 2019 г.
На AWS файлы копятся в течении жизни проекта, а для разработки иногда удобнее иметь их локально. Как перетащить их из облака (и закинуть потом обратно), пользуясь консолью, расскажу в статье.
Направление операции копирования в данном случае не ...
Читать
Июнь 22, 2021 г.
В Юникс системах можно перенаправить вывод выполняемой команды в лог-файл, но иногда хотелось бы видеть результаты работы одновременно и в консоли.
Вот пример перенаправления вывода в файл:
[crayon-693c3a3f10d9e155959736/]
При этом в консоли ...
Читать