2012-05-19 8 views
13

Pracuję z AppleScript i trzeba to zrobić:Korzystanie cudzysłowy w ciąg AppleScript

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

Jak widać, tekst muszę przekształcić w ciąg ma w nim cytaty. Jak ustawić do napisu AppleScript bez cytowania go w cudzysłowach?

+1

Moja odpowiedź jest [poniżej] (http://stackoverflow.com/a/10668503/990363). Twoje polecenie 'bash' może zostać uproszczone do' cd "$ {0%/*}" && java ', BTW. Żadnych zewnętrznych i nieumiejętnych kontroli przepływu. – kopischke

Odpowiedz

15

Aby wstawić dosłowne cytaty na ciąg AppleScript, trzeba im uciec, tj

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

AppleScript ma taką samą konwencję za większości języków, który jest w użyciu ukośnika do ucieczki znaków specjalnych, z których są tylko dwa: cytaty i ... backslash. Zobacz section “Special string characters” of the AppleScript Language Guide.

+3

Należy również zauważyć, że istnieje sporo pomysłów na użycie cudzysłowów w ciągach AppleScript, jeśli są one przekazywane do powłoki, większość z nich ma związek z tym, w jaki sposób procesy powłoki są traktowane jako unikalne znaki i cytaty. Zobacz [to pytanie] (http://stackoverflow.com/questions/8138167/how-can-i-escape-shell-arguments-in-applescript) po więcej szczegółów. – kopischke

3

następującą składnię można również stosować:

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

dało mi to pojedyncze cytaty. – carmin

0

forma notowane od (dirname jak ścieżki POSIX)

-3

Korzystanie cytaty w AppleScript jest dość prosta wystarczy, aby do końca linii i rozpocznie się cytuje

EG

dialogowe display "hello world"

ale gdy użytkownik zdecyduje się umieścić zmienną w tekście należy użyć &

zestaw my_name do "Michael" dialog

wyświetlacz "cześć" & my_name

Dziękuje

+0

Pytanie dotyczy użycia cudzysłowów z ciągiem znaków (tj. Ich usunięciem). To po prostu tworzy standardowy ciąg. –

+0

Och, przykro mi, nie wiedziałem, że chcesz wydostać się z łańcuchów, żeby zrobić to, co musisz użyć to symbol "&" simle i jeśli używasz –

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

Wystarczy skopiuj to do AppleScript najprostszy sposób na zrozumienie.

+0

To pytanie ma 3 lata! Jak twoja odpowiedź jest lepsza niż @ kopischke? – hawkfalcon

Powiązane problemy