我正在尝试使用 AppleScriptObjC 作为包装器来自动化三个或四个 bash shell 脚本。这将给我一个友好的 gui 前端来选择数据文件等,以及方便的文本文件操作和几个 bash 脚本的处理。
一切正常(我可以按我的按钮并运行 shell 脚本),除了我不知道如何使事情变得半便携。我想要一个可以分发给其他人的应用程序或包,所需的脚本文件以某种方式由应用程序合并或生成,而不是暴露给用户。
我是 Xcode 和 AppleScriptObjC (ASOC) 的菜鸟,我看不到这样做的方法。- 我可以将脚本作为一组简单的 do shell 脚本命令运行,或者通过发送到终端窗口的命令来运行,但这意味着必须分发所有单独的 shell 文件并将其作为一堆片段放在正确的位置。- 我尝试从 ASOC 中生成脚本文件,但由于 ASOC 处理字符串和特殊字符的方式,我遇到了构建文件的障碍。我已经尝试过普通字符串或字符串构造的引号形式。作为背景,Apple Technical Note TN2065是相关的。以这种方式创建文件会丢失特殊字符。这段代码演示了这个问题(例如,我做错了什么!):
set scriptName to "/Users/me/Desktop/myScript.sh" -- Name of file
-- Define a multi line string:
set scriptContents to " First Line - OK
Second Line, all good so far
$Test fails - the (dollar sign)Test vanishes
\"$Test\" also fails
Last line"
do shell script ("cd " & myFolder & "; echo \" " & scriptContents & " \" > " & scriptName)
如果无法从 ASOC 中创建所需的 shell 脚本或访问作为支持文件包含在应用程序包中的脚本,我将做很多从 bash 到 AppleScriptObjC 的棘手移植!
建议或解决方案将不胜感激:1.如何使用AppleScriptObjC编写任意多行文件,包括控制字符等。2.或3.如何打包shell脚本以便ASOC可以在需要时运行它?