명령의 출력을 캡처하고 stdout에 명령을 표시하지 않고 명령의 내용을 확인하려면 어떻게합니까? 예를 들면 :stdout에 표시하지 않고 명령의 출력을 캡처하는 방법
def update!
`git pull origin master`
if $?.exitstatus > 0
puts 'Failed to update'
elsif $?.success?
puts 'Upgraded successfully'
else
puts 'Already up to date'
end
end
어떻게 명령이
up-to date
오류가 발생하거나 성공적으로 업데이트 말했다 여부를 확인하기 위해이의 출력을 캡처 할 수 있습니다
? 콘솔 대신 파일에 출력을 쓰는 방법이 있습니까? 답변
업데이트 :
def update!
update_status = `git pull origin master 2>&1`
if $?.exitstatus > 0
puts 'error'
elsif update_status =~ /Already up-to date/
puts 'same version as origin master'
else
puts 'updated'
end
end
이의 출력은 항상있을 것입니다 : 버전이 원본과 동일
[06:44:29 INFO] Updating to newest version..
updated
경우에도 마찬가지입니다. 가능하다면 명령의 stdout
을 파일에 저장하고 해당 파일을 읽어 프로그램이 업데이트되었는지 확인하십시오. 나는 이것이 그 일을하는 가장 쉬운 방법이라고 생각합니다.
방법에 대한 테스트를 작성 하시겠습니까? –
@ sagarpandya82 아니, 내가 작성한 프로그램에 대한 업데이트 방법을 얻으려는 중이므로 git 자체의 출력을 캡처하려고합니다. 출력을 파일에 쓰는 것이 가능한지 모르겠다. – User9123