macos – 如何在AppleScript中转义shell参数?
Applescript似乎没有正确地逃避字符串.我究竟做错了什么?
例: set abc to "funky-!@#'#"chars" display dialog abc display dialog quoted form of abc 预期/期望的产出: funky-!@#'#"chars 'funky-!@#'#"chars' 实际产量: funky-!@#'#"chars 'funky-!@#'''#"chars' 正如您所看到的,似乎在实际输出中Applescript正在添加并转发额外的’ 我会很好,结尾字符是“或”,我也可以将单引号和双引号转义 – 但看起来只有单引号实际上是转义的.
反斜杠通常不会在shell中的单引号内解释.
然而,它们由echo in sh解释,这是do shell脚本使用的shell: do shell script "echo " & quoted form of "t" --> "t" 取消设置xpg_echo使其行为类似于bash中的echo: do shell script "shopt -u xpg_echo; echo " & quoted form of "t" --> "t" 通常使用HEREDOC重定向更简单: do shell script "rev <<< " & quoted form of "atb" --> "bta" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |