2012-05-19 24 views
13

使用引號,我使用AppleScript工作,需要做到這一點:在它在AppleScript的字符串

set TextToWrite to " #!/bin/bash cd "$(dirname "$0")" java -server -Xmx4G -jar ./craftbukkit.jar" " 

正如你所看到的,我需要轉換成字符串文本具有引號。我該如何設置

#!/bin/bash cd "$(dirname "$0")" java -server -Xmx4G -jar ./craftbukkit.jar" 

到AppleScript字符串沒有引號搞砸了?

+1

我的答案是[below](http://stackoverflow.com/a/10668503/990363)。你的'bash'命令可以簡化爲'cd「$ {0%/ *}」&& java ',順便說一句。沒有外部設備和一點流量控制。 – kopischke

回答

15

要插入文字報價到一個AppleScript字符串,你要逃避他們,即

set myString to "This is a \"quoted\" text." 

的AppleScript具有與大多數語言中,這是使用反斜線爲特殊字符轉義,相同的約定,其中只有兩個:引號和...反斜槓。請參閱section 「Special string characters」 of the AppleScript Language Guide

+3

另請注意,在AppleScript字符串中使用引號的問題有很多,如果這些字符串被傳遞給shell,它們大多數都與shell進程如何轉義和未轉義的引號有關。有關更多詳細信息,請參閱[此問題](http://stackoverflow.com/questions/8138167/how-can-i-escape-shell-arguments-in-applescript)。 – kopischke

3

下面的語法也可用於:

set aString to "quoted" 
set myString2 to "This is a " & quoted form of aString & " text." 
+1

這給了我單引號 – carmin

0

(目錄名稱爲POSIX路徑)

-3

使用AppleScript的報價是很容易的,你只需要讓行結束和開始的引號形式引用

EG

顯示對話框中的 「Hello World」

但是當你決定把在文本中的變量,你必須使用&

集MY_NAME爲 「邁克爾」

顯示對話框 「你好」 & MY_NAME

三江源

+0

這個問題與使用引號_within_一個字符串(即轉義它們)有關。這只是創建一個標準的字符串。 –

+0

哦,即時通訊對不起,我沒有意識到你想擺脫字符串做,所有你必須使用的是simle「&」符號,如果使用 –

0
set x to "He said \" Enter the matrix.\" "display dialog x 

剛將其複製到AppleScript是最容易理解的方法。

+0

這個問題是3歲!你的答案如何比@ kopischke更好? – hawkfalcon

相關問題