Проверьте, работает ли соединение, если не вернулась ошибка

Работа над сценарием bash для подключения клиента iscsi к серверу.

Как мне вставить эту команду:

 iscsiadm -m discovery -t st -p 10.0.0.30

в if, чтобы проверить, было ли установлено соединение, если нет, то оно выдаст ошибку.

Также, если соединение найдено, цель подключится:

 iscsiadm -m node -l -T iqn.2014-02.com.example -l -p 10.0.0.30:3260
1
задан 14.05.2020, 01:33

1 ответ

Можно использовать статус выхода, который только будет нулем если команда, выполняемая корректный.
Так в Вас пишут сценарий Вас, просто выполняют команду и если статус выхода $? не является нулем, Вы знаете, что связь не была правильно установлена.

пример:

iscsiadm -m discovery -t st -p 10.0.0.30
if test $? -ne '0'
then
        echo "Error"
else
        iscsiadm -m node -l -T iqn.2014-02.com.example -l -p 10.0.0.30:3260
fi
2
ответ дан 14.05.2020, 01:34
  • 1
    Где действительно тестируют, прибывают из? Как это: test=iscsiadm-m открытие-t Св.-p 10.0.0.30 – Ravi Vaniya 14.05.2020, 01:34
  • 2
    Спасибо! я попробовал его на своих различных командах, чтобы проверить, выполнялся ли их, и это работало. Таким образом, это похоже на universel способ проверить, была ли команда, успешно выполняются.. – Matt Patenaude 14.05.2020, 01:35
  • 3
    тест является командой удара интерна, он читает в этом случае код выхода из предыдущей команды и сравнивает это для обнуления. – Venkatesh Kashyap 14.05.2020, 01:35

Теги

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