Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从linux计算机编辑applescript文件_Linux_Macos_Applescript - Fatal编程技术网

从linux计算机编辑applescript文件

从linux计算机编辑applescript文件,linux,macos,applescript,Linux,Macos,Applescript,尽管applescript看起来像其他()一样是一种脚本语言,但出于我不理解的原因,这些脚本似乎经常被保存为二进制文件。对于在Mac电脑上使用基于Mac的文本编辑器的人来说,这似乎不是一个问题,该编辑器可以将这些脚本打开为纯文本格式,在那里可以编辑和阅读它们,但对于我们其他人来说,我们只会看到胡言乱语。例如,Github有许多将.scpt文件提交到存储库的例子,而不是/没有纯文本等价物(谷歌搜索一下,这可能是一个.applescript文件) 问题:是否有开源工具可以解析和序列化这些二进制文件,

尽管applescript看起来像其他()一样是一种脚本语言,但出于我不理解的原因,这些脚本似乎经常被保存为二进制文件。对于在Mac电脑上使用基于Mac的文本编辑器的人来说,这似乎不是一个问题,该编辑器可以将这些脚本打开为纯文本格式,在那里可以编辑和阅读它们,但对于我们其他人来说,我们只会看到胡言乱语。例如,Github有许多将.scpt文件提交到存储库的例子,而不是/没有纯文本等价物(谷歌搜索一下,这可能是一个
.applescript
文件)

问题:是否有开源工具可以解析和序列化这些二进制文件,以便在标准的纯文本编辑器中查看/编辑它们,并将其保存回
.scpt

(我的背景:我想提供一种用户友好的操作系统原生按钮点击方式,在mac上启动我的应用程序,而不是告诉用户打开bash终端并键入内容。)


编辑我只能访问linux机器,我没有mac电脑

您可以做的不是尝试在非Mac上创建AppleScript,而是使用.command后缀命名shell脚本文件,并确保该文件具有用户的execute POSIX权限。然后,用户可以双击Finder中的文件来执行脚本,而无需输入终端命令

如果希望利用shell脚本文件中的AppleScript命令添加一些简单的GUI功能,可以使用


顺便说一句,供参考:在Mac上,应用程序“脚本编辑器”(或旧系统上的“AppleScript编辑器”)通常用于创建AppleScripts。它提供了几个保存选项-您提到的.scpt二进制文件和.applescript纯文本文件,以及.scptd脚本包和.app标准的可双击应用程序。

如果有人想否决这个问题,也许他们可以提供一些背景信息来说明原因?这个答案确实提供了更多关于Mac的背景信息,这是有用的,所以谢谢你的参考。扩展名为
.command
的shell脚本和osascript都可以工作,但如果能够直接修改现有的applescript,这将非常有用。您不仅需要Mac,而且还必须安装脚本使用的每个应用程序。Apple事件消息将所有命令/参数/etc名称表示为整数,而不是字符串。AppleScript依靠可编写脚本的应用程序提供“字典”,将这些int(也称为“四字符代码”)映射到人类可读的关键字
.scpt
文件包含仅使用四个字符代码的AppleScript字节码,因此要将该字节码转换回可读的源代码(
.AppleScript
文件),需要所有原始应用程序字典以及理解AS未记录字节码格式的内容。IOWURSOOL@foo感谢您的解释,这是一个很好的技术答案,可以解释为什么这样的工具不存在。@foo TextMate 2如何能够完美地打开
.scpt
文件?(不能使用文本编辑、Xcode等)。