У меня есть сценарий оболочки со следующим:

STATUS=`/home/scripts/200check.sh $RUOK_URL`

Внутри 200check.sh у меня есть несколько echo команд, но эти команды не отображаются в терминале. Я предполагаю, что они поглощены чем-то другим?

Кто-нибудь знает, как я могу отобразить команды echo ?

2 ответа2

3

echo выводит сообщения на стандартный вывод, и они записываются тем же оператором ` ` .

Вместо этого стандартная практика - отправлять предупреждения или сообщения об ошибках в stderr. В bash вы бы использовали:

echo "warning: blah" >&2

На stderr обычно не влияют каналы или операторы подстановки команд (хотя он все еще может быть перенаправлен).

3

Выходные данные из скрипта сохраняются в переменной $STATUS потому что вы вызываете ее с помощью обратных тиков (более приятный способ сделать это - использовать $(...) , который проще встраивается). Попробуйте отобразить значение $STATUS чтобы увидеть, есть ли ожидаемый результат.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .