Передать кавычки в сценарий оболочки из AppleScript

У меня есть эта часть моего AppleScript:

set msgDate to "05-06-2013"
set quotedmsgDate to quoted form of "\"" & msgDate & "\"" as string
do shell script "echo send message in folder \"" & quotedmsgDate & "\">> ~/Library/Outlook/" & msgDate & ".txt"

Я пытаюсь написать «отправить сообщение в папку «05-06-2013»» в ~/Library/Outlook/05-06-2013.txt.

На самом деле он пишет: «Отправить сообщение в папку 05-06-2013».

Все работает просто отлично, за исключением повторения кавычек вокруг quotedmsgDate. (Кстати, единственная причина, по которой там находится вторая строка, заключалась в том, что я тестировал «форму в кавычках» в AppleScript для посмотрите, если это имеет значение.Это не имело.) Я чувствую, что перепробовал все, но по какой-то причине я просто не могу заставить оператор сценария do shell поставить кавычки там, где они должны быть.

Любая помощь или понимание очень ценятся!


person Community    schedule 08.05.2013    source источник


Ответы (2)


Пытаться:

set msgDate to "05-06-2013"
set quotedmsgDate to "\"" & msgDate & "\"" as string
do shell script "echo send message in folder " & quoted form of quotedmsgDate & " >> ~/Library/Outlook/" & msgDate & ".txt"
person adayzdone    schedule 09.05.2013
comment
Это сделало это! Большое спасибо @adayzdone, я очень ценю помощь! - person ; 09.05.2013

Кавычка в AppleScript известна как quote.

Вы можете использовать его следующим образом:

set myString to "Joe " & quote & "the Hammer" & quote & " Doe"

чтобы получить эту строку:

Джо «Молот» Доу

person Monolo    schedule 08.05.2013
comment
Спасибо за быстрый ответ @Monolo. Если я изменю сценарий, чтобы отразить это с помощью set msgDate to "05-06-2013" set quotedmsgDate to quote & msgDate & quote as string do shell script "echo send message in folder " & quotedmsgDate & ">> ~/Library/Outlook" & msgDate & ".txt", он все равно выводит дату без кавычек в текстовом файле. Я пытаюсь передать текст цитируемый в текстовый файл. - person ; 09.05.2013