Команда Echo не відображається


0

У мене є сценарій оболонки з наступним:

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

Всередині 200check.sh у мене є кілька echoкоманд, але ці команди не відображаються в терміналі. Я думаю, їх споживає щось інше?

Хтось знає, як я можу echoвідображати команди?

Відповіді:


3

echo виводить повідомлення в stdout, і їх захоплює той самий ` `оператор.

Стандартна практика натомість надсилати попередження або повідомлення про помилки в stderr. В bash, ви б використовували:

echo "warning: blah" >&2

Зазвичай на stderr не впливають труби або оператори заміни команд (хоча вони все ще можуть бути переспрямовані).


Відмінно, дуже дякую Я досить новачок у Shell Scripting, ще раз дякую.
C0deAttack

3

Вихід із сценарію зберігається у $STATUSзмінній, оскільки ви викликаєте його за допомогою зворотних кліщів (приємнішим способом цього було б користування $(...), яке гніздо простіше). Спробуйте відобразити значення, $STATUSщоб побачити, чи є ваш очікуваний вихід.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.