gpt4 book ai didi

Java - 预期为 “"” 但发现未知标记

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:46:28 30 4
gpt4 key购买 nike

我在尝试从我的 java 应用程序执行 applescript 时收到此错误。代码如下:

String script = "tell application \"Terminal\" to do shell script \"/System/Library/CoreServices/Menu\\ Extras/user.menu/Contents/Resources/CGSession -suspend\" ";
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("AppleScript");
engine.eval(script);

我收到以下错误:

Exception in thread "main" javax.script.ScriptException: Expected “"” but found unknown token.
at apple.applescript.AppleScriptEngine.evalScript(Native Method)
at apple.applescript.AppleScriptEngine.eval(AppleScriptEngine.java:342)
at apple.applescript.AppleScriptEngine.eval(AppleScriptEngine.java:313)
at myTestApp.Main.main(Main.java:25)

感谢您的考虑。

最佳答案

基于经验的猜测...也许路径名中的转义空格是你的表演障碍。

尝试从路径没有空格的位置调用脚本或尝试“双重转义”转义空间,如下所示:

"tell application \"Terminal\" to do shell script \"/System/Library/CoreServices/Menu\\\\ Extras/user.menu/Contents/Resources/CGSession -suspend\" "

奇怪错误的一个常见原因是路径名中的空格。所以这是我的第一个猜测,这会给你的脚本带来麻烦。然后我想起有时我们必须“转义转义的反斜杠”。 This article没有解释,为什么它完全解决了你的问题,但它显示了可能需要多少反斜杠......

关于Java - 预期为 “"” 但发现未知标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3250155/

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