2014-09-14 3 views
0

저는 총 AppleScript 초보자입니다. 대부분 예제를 복사하여 작동합니다.스크립트 실행 후 AppleScript 종료

Toast에 내장 된 이미지 마운터를 사용하여 실제로 전체 토스트 프로그램을 실행하지 않고 드롭 릿에 떨어 뜨린 디스크 이미지를 마운트하는 간단한 드롭 릿을 만들었습니다. 드롭 릿은 작동하지만 디스크 이미지가 마운트되면 스크립트를 종료하고 싶습니다. (상황이 진행됨에 따라 이미지가 마운트 된 직후 스크립트 응용 프로그램이 응답하지 않는 경우도 있지만 이미지가 분리되면 종료되지 않는 경우도 있습니다.) 포럼을 검색하여 "리디렉션"을 사용해야한다고 생각했습니다. >/dev/null 2>하지만 올바른 구문을 얻을 수 없습니다.

제발 좀 도와주세요 - 고마워요! 열린 이미지에

set mount to "/Applications/'Toast 11 Titanium/Toast Titanium.app'/Contents/MacOS/ToastImageMounter" 

repeat with path in image 

    set mount to mount & space & quote & POSIX path of path & quote 

end repeat 

do shell script mount 

끝 개방

편집 : 나는 그것을 해결,하지만 난이 가장 우아한 해결책이 아니라 확신, 그래서 의견을 보내 주셔서 감사합니다 것입니다. 열린 이미지에

set mount to "/Applications/'Toast 11 Titanium/Toast Titanium.app'/Contents/MacOS/ToastImageMounter" 

set foo to space & "> /dev/null 2>&1 &" 

repeat with path in image 

    set mount to mount & space & quote & POSIX path of path & quote & foo 

end repeat 

do shell script mount 

+0

"mount"를 변수로 사용하는 것 외에는 나에게 우아 해 보입니다. 내가 너라면 "theMount"같은 것을 쓸거야. 일부 사전/명령 세트에서 명령이 될 가능성이있는 단어 중 하나입니다. 리디렉션에 대한 자세한 내용은 [http://stackoverflow.com/questions/10508843/what-is-dev-null-21]을 참조하십시오. – CRGreen

답변

0

오픈 엔드 나는 몇 가지를 변경할 것입니다. 첫째, 토스트 티타늄 마운터로가는 길에 작은 따옴표가있는 이유는 무엇입니까? 그것은 당신이 전체 경로를 인용하기를 원하기 때문에 의미가 없습니다. AppleScript에서 우리는 "quoted form of"을 사용하여 물건 주위에 따옴표를 적절하게 배치하므로 코드의 2 개 장소에서 사용했습니다. 둘째, CRGreen이 변수 이름에 대해 만드는 점은 유효하므로 불필요한 문제를 피하기 위해주의하십시오. 나는 마운트와 경로를 모두 바꿀 것이다. 마지막으로 foo를 명령 끝에 추가하는 대신 반복 루프 내에 여러 번 추가하려고합니다.

여기 코드 작성 방법은 다음과 같습니다. 행운을 빕니다.

set mountCMD to quoted form of "/Applications/Toast 11 Titanium/Toast Titanium.app/Contents/MacOS/ToastImageMounter" 

set foo to space & "> /dev/null 2>&1 &" 

repeat with thisPath in image 
    set mountCMD to mountCMD & space & quoted form of POSIX path of thisPath 
end repeat 

do shell script mountCMD & foo