Можно ли увидеть ошибки при выполнении скрипта внутри скрипта?

У меня есть файлы my1.sh и my2.sh.

my1.sh:

.... do something ./my2.sh 

my2.sh:

 .... do something else 

Теперь моя проблема заключается в том, что если какая-либо команда (например, пример ntfsclone) терпит неудачу в my2.sh, я не получаю сообщение об ошибке, напечатанное на экране … ничего, независимо от того, что я пытаюсь использовать в my2.sh.

Итак, мой вопрос заключается в том, что мне нужно сделать в отношении my2.sh, чтобы получить сообщения об ошибках его содержимого, показанные на экране?

2 Solutions collect form web for “Можно ли увидеть ошибки при выполнении скрипта внутри скрипта?”

Проверить снова. Согласно тому, что вы написали в своем вопросе, когда вы выполнили ./my2.sh из my1.sh , вы нигде не перенаправляли выход ошибки (используя 2>somewhere ), что означает, что он останется именно там, где он был. Это означает, что вы должны абсолютно получить вывод ошибки из ./my2.sh идя точно в том же месте, вывод ошибки из ./mh1.sh .

Чтобы проверить, попробуйте вставить это в my1.sh :

 echo "Test error output from my1.sh" >&2 

и вставляя это в начало my2.sh :

 echo "Test error output from my2.sh" >&2 

Я предполагаю, что вы либо получите обе строки вывода (в этом случае нет проблем), либо нет (и в этом случае причина, по которой вы не получаете сообщение об ошибке, заключается в том, что вывод ошибки перенаправляется где-то еще в my1.sh и не имеет ничего делать с my2.sh ).

Вы можете попробовать разместить следующее в верхней части каждого скрипта для отладки обратной связи с ними.

 set -x 

Вы также можете ввести его непосредственно в cli, и он сделает то же самое, просто запомните set + x, когда закончите, чтобы отключить его.

 set +x 
  • Кросс-компилируемый модуль ядра Linux
  • mysql console, продолжает выводить искаженный текст, если нажата клавиша «b»
  • Как можно переключиться на ttyX в виртуальном боксе?
  • Как найти блокировку для коммутации виртуальных терминалов?
  • Отключение переноса строки в Konsole
  • Печать на X-терминал быстрее, чем печать на tty?
  • Загрузите графическое приложение прямо из загрузки Linux (без подробных загрузочных сообщений и рабочего стола)
  • Как я могу заставить консоль выводить что-то другое, чем фреймбуфер?
  • Настройка рабочей среды - Konsole или другой терминал - открытие нескольких вкладок и запуск некоторых команд
  • Больше не удается переключиться на консоль после использования Alt_R в качестве mod4
  • "Map: vt01 => fb0" - что это?
  • Linux и Unix - лучшая ОС в мире.