Мне нужно написать сценарий bash, который выполняет программу python, и мне нужно вывести время выполнения и результаты в том же файле. Я НЕ МОЖЕТ редактировать код python.
Поскольку есть несколько тестов, я хочу выполнить их в фоновом режиме. Я пробовал это
#!bin/bash
$(time python3 program.py file1 > solAndTimeFile1.txt &)
но он вообще не работает, он выводит результаты программы python в файл solAndTimeFile1.txt, и время отображается в терминале.
Я также пробовал это:
#!bin/bash
$(time python3 program.py file1 > solAndTimeFile1.txt >> solAndTimeFile1.txt &)
Такая же производительность и делает меня менее понятным.
Поместите свою команду в фигурные скобки, чтобы она запускалась в подоболочке, и вы можете записать ее вывод. Чтобы перенаправить как stdout, так и stderr в файл, используйте &>file
. См. man bash
для получения дополнительной информации.
{ time python3 program.py file1; } &>solAndTimeFile1.txt &