2012-05-19 11 views
13

que estoy trabajando con AppleScript y la necesidad de hacer esto:el uso de citas en una cadena de AppleScript

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

Como se puede ver, el texto Necesito hacer en una cadena tiene citas en el mismo. ¿Cómo se configura

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

a una cadena de AppleScript sin las comillas mezclarlo?

+1

Mi respuesta es [debajo] (http://stackoverflow.com/a/10668503/990363). Su comando 'bash' podría simplificarse a' cd '' $ {0%/*} "&& java ', por cierto. Sin elementos externos y un mínimo de control de flujo. – kopischke

Respuesta

15

Para insertar las citas literales en una cadena Applescript, usted tiene que escapar de ellos, es decir

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

AppleScript tiene la misma convención como la mayoría de los idiomas, que consiste en utilizar una barra invertida para escapar de caracteres especiales, de los cuales solo hay dos: comillas y ... barra invertida. Ver el section “Special string characters” of the AppleScript Language Guide.

+3

También tenga en cuenta que hay bastantes inconvenientes en el uso de comillas en cadenas de AppleScript si se pasan al shell, la mayoría de ellas relacionadas con la forma en que el shell procesa las comillas escapadas y sin escalar. Ver [esta pregunta] (http://stackoverflow.com/questions/8138167/how-can-i-escape-shell-arguments-in-applescript) para más detalles. – kopischke

3

la siguiente sintaxis también se puede utilizar:

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

esto me dio comillas simples – carmin

0

forma citada de (nombredir como ruta POSIX)

-3

se emplean comillas en applescript es muy fácil sólo tiene que hacer que el extremo de la línea y comenzar en cita

EG

diálogo sobre la pantalla "hola mundo"

pero cuando usted decide poner una variable en el texto que debe utilizar &

conjunto mi_nombre a "Michael" de diálogo

pantalla "hola" & mi_nombre

gracias

+0

La pregunta está relacionada con el uso de comillas _within_ una cadena (es decir, escapándolos). Esto solo crea una cadena estándar. –

+0

Oh, lo siento, no me di cuenta de que querías salir de las cadenas para hacer eso, todo lo que debes usar es el simle "&" y si usas –

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

Justo copia esto en applescript la forma más fácil de entender.

+0

¡Esta pregunta tiene 3 años! ¿Cómo es tu respuesta mejor que la de @kopischke? – hawkfalcon

Cuestiones relacionadas