使用 system 命令将要执行的字符串传递到操作系统。将返回操作系统命令的输出。
system "ls -l";
在基于 UNIX 的系统(不是 Windows)上,这将以长格式打印当前目录到“脚本编辑器”(Script Editor)。Windows 等效:
system "dir";
应始终将路径名括在引号中。尤其在 Mac OS 中,文件名可以包含拥有命令行含义的字符,如空格、|(管)、>(重定向)和 &(在后台运行)。
string $fileName = {get this from somewhere}; system ("some_command " + $fileName);
system ("some_command \"" + $fileName + "\"");
AppleScript 和 UNIX 使用不同的文件夹分隔符。AppleScript 使用冒号 (::),而 UNIX 使用正斜杠 (/)。此外,UNIX 中的体积带有前缀 /Volumes/,而在 AppleScript 中,路径以划分名称开头。
在以下示例中,一个名为 eagle.ma 的场景文件在名为 Emerald 的体积(划分)上。
Emerald:projects:default:scenes:eagle.ma
/Volumes/Emerald/projects/default/scenes/eagle.ma
tell application "TextEdit" open "Emerald:projects:default:scenes:eagle.ma" end tell
若要从 Unix Shell 的文本编辑打开该文件,您可以输入:
open -e /Volumes/Emerald/projects/default/scenes/eagle.ma
若要将 UNIX 命令应用到 Mac OS X 上的 mayaAscii 场景文件内容中,将场景文件转化为具有 UNIX 线末端。您可以使用 Mac OS X tounix 命令执行该操作。
string $fileName = {get this from somewhere}; string $result = system ("grep something" + $fileName);
if ('about -mac') { system("tounix \"" + $fileName + "\""); } string $result = system ("grep something \"" + $fileName + "\"");