파이썬 스크립트에서 대형 빌드 스크립트 (bash 명령)를 실행해야합니다. 큰 문자열로 수신하고 각 줄은 \ n으로 나뉩니다. 그래서 각 줄을 따로 실행해야합니다.파이썬에서 같은 프로세스에서 bash 명령을 실행하십시오.
먼저, subprocess.Popen()을 사용하여 실행하려고했습니다. 그러나 문제는 다음과 같습니다. 각 줄 다음에 프로세스가 종료되고 모든 환경 변수가 손실됩니다.
문제는 다른 명령을 실행하기 위해 명령을 마칠 때까지 기다리는 것이 아니라 동일한 쉘에서 모든 명령을 실행해야합니다.
내가 지금까지 발견 한 유일한 해결책은 모든 명령을 sh 파일 (예 : build.sh)로 저장하고 파이썬에서 실행하는 것입니다.
각 실행에 대해 더 많은 제어 권한을 갖고 싶기 때문에이 approuch를 사용하고 싶지 않습니다.
동일한 프로세스에서 이러한 명령을 하나씩 실행할 수있는 방법이 있습니까?
다른 해결책도 좋습니다.
의 사용 가능한 복제 [파이썬이 완료 쉘 명령을 기다리는 (http://stackoverflow.com/questions/16196712/python-to-wait-for-shell-command-to-complete) – vv01f
당신을 'subprocess.Popen()'을 사용하여 쉘을 시작한 다음 명령을 표준 입력에 제공 할 수 있습니다. – jasonharper
@jasonharper Popen의 결과를 얻고 다른 Popen에 표준으로 직접 추가 하시겠습니까? 그러나 환경 변수는 어떻습니까? 내가 어떻게 그들을 지킬 수 있니? – leandrocastelli