Ke.*_*Ke. 5 shell applescript escaping character
我正在尝试用applescript处理此shell脚本,但是由于文件夹名称中的单引号,它一直在说错误EOF。
do shell script "cp -R " & a & " " & "'" & d & "/My 'Folder/java/" & "'"
Run Code Online (Sandbox Code Playgroud)
文件夹/ My'Folder /是合法目录。
变量a ='/ Applications / MyProgram /'(包括单引号)
变量d = /文件夹(无单引号)
但是,由于文件夹被用引号引起来,所以外壳程序在处理它时陷入了困境。
有什么办法可以避免使用单引号,所以它可以在使用shell的applescript中使用?香港专业教育学院尝试了多个反斜杠,但不起作用。
干杯
ñ
quoted form of在将任意数据用作命令的参数时,请始终使用。即使不需要引用该值,它也始终会引用该值,但比后悔更安全。用单引号引起来的字符串时,只能用另一个引号取消引号(重新启用替换模式)。与AppleScript字符串不同,您不能在单引号字符串内转义字符。因此,您需要打开替换模式,对引号进行转义,然后再将替换模式重新设置为一个。例如,“乔的汽车”应引用为“'乔的汽车'”。它是带引号的字符串“ Joe” +转义的引号字符+引号的字符串“ s car”。但是,就像我开始时一样,您应该使用quoted form of,quoted form of "Joe's car"将返回"'Joe'\\''s car'"
您使用带引号的形式的命令将如下所示:
do shell script "cp -R " & quoted form of a & space & quoted form of (d & "/My 'Folder/java/")
Run Code Online (Sandbox Code Playgroud)