2011-12-05 6 views
2

Mac OS X 응용 프로그램을 자동으로 디버그하고 싶기 때문에 "open -a"가 답을 원하지 않습니다. 즉 누군가가 [프로그램] [args] 형식과 같은 명령 줄을 줄 수 있다면 더 좋습니다. 따라서 알고리즘은 [프로그램]을 디버깅 대상으로하고 [args]을 입력으로 사용할 수 있습니다.Mac OS X 응용 프로그램을 명령 줄에서 시작하는 방법은 무엇입니까?

"/ 응용 프로그램/Microsoft Office 2011/Microsoft PowerPoint.app/Contents/MacOS/Microsoft PowerPoint"/Users/poc.pptx와 같은 명령 줄을 사용했지만 Microsoft Point 프로세스 만 시작했지만 poc.pptx는 열리지 않았습니다.

pptx 파일을 열어서 Microsoft Point를 그렸다면/응용 프로그램/Microsoft Office 2011/Microsoft PowerPoint.app/Contents/MacOS/Microsoft PowerPoint -psn_0_307275와 같이 "poc.pptx"인수가 없습니다.

"gdb/Applications/Microsoft Office 2011/Microsoft PowerPoint.app/Contents/MacOS/Microsoft PowerPoint"및 "set args /Users/poc.pptx"및 "r", 대상 응용 프로그램 열려있는 특정 파일로 실행할 수 없습니다.

나는 이것에 대해 혼란 스럽다. 그래서 누군가이 문제를 해결하도록 도울 수 있는가?

감사합니다.

+5

파일 이름이 파워 포인트 실행 파일의 인수로 전달된다고 생각합니까? – mouviciel

+0

다른 앱을 이렇게 시작할 수 있기 때문입니다. /응용 프로그램/미리보기 .app/컨텐츠/마크로/미리보기/사용자/사용자/데스크탑/t.tiff 예. 저는 Windows 사용자였습니다. Windows 용 Microsoft Office도 cmd에서 시작할 수 있습니다. –

답변

1

확실하지 이것은 당신이 (당신이 당신의 디버깅을 수행하는 방법에 따라 다름) 도움이 될 것입니다,하지만 당신은 다음과 같이 명령 줄에서 애플 스크립트를 사용할 수있는 경우 :

이 방법을 입력
%osascript <<<EOD 
tell application "Excel" to open "Users:xxx:Documents:sheet.xls" 
EOD 

, 스크립트 여러 행을 포함 할 수 있지만, 하나의 행으로 제한 될 필요는 없습니다.

6

open -b com.microsoft.PowerPoint <filename> 제가 명령 행에서 프리젠 테이션을 열어 놓은 것처럼 보입니다. 이 응용 프로그램 디렉토리에 다른 경우

5

이동 디렉토리를 제출 한 후 여기에

open -a "Microsoft PowerPoint" <filename.ppt> 

를 입력 "마이크로 소프트 파워 포인트는"파워 포인트 응용 프로그램의 이름입니다, 파워 포인트의 이름을 확인하시기 바랍니다.

이것은 내 MAC (OSX 10.8)에서 완벽하게 작동합니다.

파일 이름 대신 완전한 경로를 지정할 수도 있습니다.

open -a "Microsoft PowerPoint" <ppt file path> 

이것은 정상적으로 작동합니다.

+0

'open -a "Microsoft Word" "도 작동 함 –

1

PowerPoint에서 명령 줄 인수로 전달 된 문서를 열지 않으면 PowerPoint가 코딩 된 방식을 반영합니다. Microsoft가 할 수있는 일은 아무도 없습니다.

OS는 일반적으로 응용 프로그램에 문서를 열 때이 기술을 사용하지 않습니다. 대신 Apple Events를 응용 프로그램에 전달합니다. 코코아는 기본적으로 커맨드 라인 인수를 받아들이고 그러한 애플 이벤트와 유사하게 취급 할 것입니다. 그러나 분명히 파워 포인트가 기본 동작을 오버라이드합니다.

PowerPoint를 디버깅하거나 추적하려는 경우 두 단계로 수행하는 것이 좋습니다. 먼저 디버거 또는 추적 프로그램에서 인수없이 실행하십시오. 그런 다음 문서를 열어 말해주십시오.Finder 및/또는 Dock을 사용하여 정상적인 방법으로 작업을 수행하거나 open -a ...을 사용할 수 있습니다. 문서 열기 요청은 PowerPoint의 두 번째 인스턴스를 시작하지 않으며 디버깅/추적중인 이미 실행중인 PowerPoint로 이벤트를 배달합니다. 결과는 당신이 원하는 것처럼 보일 것입니다.

관련 문제