SenseTalkとシステムの相互作用
これらのコマンドと関数により、SenseTalkスクリプトが実行しているシステムと対話したり、他のプログラムを起動したり、他のプログラムでファイルを開いたり、UNIXシェ ルを通じてシステムコマンドを実行することができます。
Open
コマンド
動作: 別のプログラムを開始したり、スクリプトが実行されているマシン上の別のプログラムでファイルを開きます。このコマンドの最も一般的な使用例は、スクリプトが生成したファイルを開くことで、例えばテキストエディタでテキストファイルを開いたり、スプレッドシートプログラムでタブ区切りのファイルを開いたり、ユーザーがそれにさらに変更を加えたり、印刷したりすることです。要求されたアプリケーションがスクリプトが実行されているマシン上ですでに実行されている場合、それは前面に持ってこられます、そうでなければそれは起動されます。
構文:
open application
open file with application
例:
open "iTunes" // このマシンでiTunesを起動します
例:
open "/tmp/myFile" with "TextEdit"
注:スクリプト内でファイルを読み書きするためにファイルを開くには、open file
コマンドを使用してください。
Shell
コマンドと関数
動作: ローカルマシン上のコマンドラインシェルでコマンドを実行し、その出力を返します。
構文:
shell command {, optionalParameters}関数として:
shell( command {, optionalParameters} )
パラメータの終わりにプロパティリストとしてオプションの名前付きパラメータを含めることができます。これには以下が含まれます:
includeErrors
: Trueに設定されている場合、標準エラーストリームを出力に含めます;notify
:シェルタスクが完了したときに通知するオブジェクト(メッセージが指定されていない場合はデフォルトで「me」);message
: タスクが完了したときに通知オブジェクトに送るメッセージ(指定されていない場合はデフォルトで"ShellDone
");command
: 実行するコマンド(これにより単一のプロパティリストパラメータを使用できます)。
notify
または message
が指定されている場合、shell
コマンド/関数はすぐに戻り、スクリプトが進行します。shell
タスクが終了すると、通知メッセージが notify
オブジェクトに送信されます。通知メッセージには、出力、終了ステータス、および入力コマンド(異なるコールバックを区別するため) の3つのパラメータが含まれます。タスクが完了する前にスクリプトの実行が完了した場合、結果は未定義です。
複数の shell
呼び出しが非同期に行われる場合、結果のコールバックの順序は、呼び出しが行われた順序とは異なる可能性があります。実行速度の速いコマンドは、前に呼び出された低速のコマンドよりも先に完了する可能性があります。
例:
shell "rm /tmp/testfile"
例:
log shell(command:command, includeErrors:YES)