Скрипт, проверяющий вывод после make - PullRequest
0 голосов
/ 07 февраля 2020

Я пишу приведенный ниже скрипт, чтобы показать, существует ли ожидаемый файл в / etc / library /, иначе печать не удалась. Но он напечатает полный путь, мне просто нужно напечатать имя модуля в выводе. И, если это возможно, покажите, сколько времени ушло на компиляцию каждого модуля.

К вашему сведению 1: сначала запустите другой сценарий, просто go к путям и запустите «make clean; make »на каждом модуле для компиляции исходного кода, после чего поместите результат в / etc / library /. После этого этот скрипт проверяет, успешно ли выполняется компиляция модуля!

FYI 2: после запуска компиляции. sh он создаст лог-файл, который распечатывает много информации, мне просто нужно показать ошибку, относящуюся к отказавшему модулю.

1-compile. sh> (создать файл журнала) 2-verify. sh (проверить ожидаемый файл и, если он не существует, grep тот раздел файла журнала, который принадлежит этому модулю)

Вот проверка. sh

 for f in /etc/library/{module1,module2,moduleN}; do

   if [ -f "$f" ]; then
     echo "$f Build [Success]"   
else
     echo "$f Build [Failed]"   
fi done

Текущий результат:

/etc/library/ module1 Build [Success] 
/etc/library/ module2 Build [Failed]       
/etc/library/ moduleN Build [Success]

Ожидаемый результат:

module1 Build [Success] 2s
module2 Build [Failed] 8s         related library not exist for module2
moduleN Build [Success] 58s

Любая рекомендация?

...