я могу сделать несколько вещей в одной команде на Linux? - PullRequest
1 голос
/ 29 апреля 2010

Я тестирую что-то, где я компилирую код и анализирую вывод с помощью скрипта Perl.

Итак, сначала я запускаю make, вручную копирую и вставляю вывод в errors.txt , а затем запускаю свой скрипт Perl (выполняющийся: perl analysis.pl) в терминале.

Разве я могу сделать это только одной строкой в ​​bash?

Ответы [ 3 ]

5 голосов
/ 29 апреля 2010

Вы можете сделать:

make > error.txt 2>&1 ; perl analysis.pl

Мы перенаправляем stdout и stderr из make в файл с именем error.txt, а затем, независимо от успеха или неудачи, мы запускаем сценарий Perl (который умеет читать из error.txt)

Если вы хотите, чтобы скрипт Perl запускался только при успешном выполнении make, вы можете использовать && вместо ;

2 голосов
/ 29 апреля 2010
echo yes && echo youcan

Yes будет отображаться первым, если он выполняется нормально, то отображается только youcan, иначе - нет.

1 голос
/ 29 апреля 2010

Это должна быть точная команда

make > errors.txt && ./my_perl_script
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...