gpt4 book ai didi

shell - applescript/shell 中的单引号转义

转载 作者:行者123 更新时间:2023-12-02 03:36:58 26 4
gpt4 key购买 nike

我正在尝试在 applescript 中处理此 shell 脚本,但由于文件夹名称中的单引号,它一直显示错误 EOF。

do shell script "cp -R " & a & " " & "'" & d & "/My 'Folder/java/" & "'"

文件夹/My 'Folder/是合法目录。

变量 a = '/Applications/MyProgram/'(并包含单引号)

变量 d =/Folders(不带单引号)

但是,shell 在处理它时遇到了困难,我猜测是因为该文件夹用引号引起来。

有什么方法可以转义这个单引号,以便它可以在使用 shell 的 applescript 中工作吗?我尝试过多个反斜杠,但不起作用。

干杯

N

最佳答案

始终使用quoted form of使用任意数据作为命令的参数时。即使不需要引用该值,它也始终会引用该值,但安全总比后悔好。当您有一个单引号字符串时,您只能用另一个引号取消引号(重新打开替换模式)。与 AppleScript 字符串不同,您无法转义单引号字符串内的字符。因此,您需要打开替换模式,转义引号,然后将替换模式恢复为 1。例如,“Joe's car”应引用为“'Joe'\\''s car'”。它是一个带引号的字符串“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/")

关于shell - applescript/shell 中的单引号转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28358317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com