コンテンツにスキップ
manual/ ja

COMMAND REFERENCE / 日本語訳

osascript(1)

Apple / macos 26.6.2SECTION 1
版情報
バリエーション
25g83
原文形式
roff
原文 SHA-256
aca3abc5c3d0641ea7dd33d2d1604b9de2fa7400d0f42433faaaaa72879397da
翻訳
LLM による日本語訳

osascript — OSAスクリプト(AppleScript、JavaScriptなど)を実行する

osascript

[-l language] [-i] [-s flags] [-e statement | programfile] [argument ...]

osascriptは、指定されたOSAスクリプトを実行します。スクリプトには、プレーンテキストか、スクリプトエディタまたはosacompile(1)で作成したコンパイル済みスクリプト(.scpt)を指定できます。デフォルトでは、osascriptはプレーンテキストをAppleScriptとして扱いますが、-lオプションで変更できます。システムにインストールされているOSA言語の一覧を取得するには、osalang(1)を使用します。

osascriptは、次の3か所のいずれかからスクリプトを探します。

  1. コマンドラインの-eスイッチを使用して、1行ずつ指定したスクリプト。

  2. コマンドラインで最初に指定したファイル名のファイルに格納されたスクリプト。このファイルには、プレーンテキストまたはコンパイル済みスクリプトを使用できます。

  3. 標準入力から渡されたスクリプト。これは、ファイル名引数がない場合にのみ機能します。標準入力から読み取るスクリプトに引数を渡すには、スクリプト名として「-」を明示的に指定する必要があります。

スクリプトに続く引数はすべて、文字列のリストとして「run」ハンドラの直接パラメータに渡されます。たとえば、AppleScriptでは次のようになります。

a.scpt:
on run argv
    return "hello, " & item 1 of argv & "."
end run

% osascript a.scpt world
hello, world.

オプションは次のとおりです。

-e statement

スクリプトを1行入力します。-eを指定すると、osascriptは引数リストからファイル名を探しません。複数の-eオプションを指定して、複数行のスクリプトを組み立てることができます。ほとんどのスクリプトでは、多くのシェルプログラムにとって特殊な文字(たとえば、AppleScriptでは一重引用符、二重引用符、「(」、「)」、「*」)を使用するため、文を壊さずにシェルへ渡すには、引用符とエスケープを正しく使用する必要があります。

-i

対話モード:osascriptは1行ずつ入力を求め、該当する場合は各行の後に結果を表示します。-eまたはprogramfileを使用してコマンド引数として指定したスクリプトは、対話プロンプトを開始する前に読み込まれますが、実行はされません。

-l language

すべてのプレーンテキストファイルに使用する言語を上書きします。通常、プレーンテキストファイルはAppleScriptとしてコンパイルされます。

-s flags

出力形式を変更します。flags引数は、修飾文字e、h、o、sの任意の組み合わせからなる文字列です。複数の修飾子を同じ文字列に連結でき、複数の-sオプションも指定できます。修飾子は互いに排他的なペアになっています。競合する修飾子を指定した場合は、最後の修飾子が優先されます。各修飾文字の意味は次のとおりです。

  • h

    値を人間が読みやすい形式で表示します(デフォルト)。

    s

    値を再コンパイル可能なソース形式で表示します。

    osascriptは通常、結果を人間が読みやすい形式で表示します。文字列を引用符で囲まず、文字をエスケープせず、リストやレコードの波括弧を省略する、といった形式です。この形式は一般により便利ですが、曖昧さが生じる場合があります。たとえば、リスト「{"foo", "bar"}」と「{{"foo", {"bar"}}}」は、どちらも「foo, bar」と表示されます。同じ値へ再コンパイルできる曖昧さのない形式で結果を表示するには、s修飾子を使用します。

  • e

    スクリプトエラーを標準エラー出力に表示します(デフォルト)。

    o

    スクリプトエラーを標準出力に表示します。

    osascriptは通常、スクリプトエラーを標準エラー出力に表示するため、後段のクライアントには有効な結果だけが見えます。ただし、自動テストを実行する場合は、o修飾子を使用すると、照合対象であるスクリプトエラーと、照合対象ではないその他の診断出力とを区別できます。

osacompile(1)、osalang(1)、AppleScript言語ガイド

Mac OS X 10.0のosascriptは、出力内の「\r」文字を「\n」に変換し、この動作を変更する-sオプションの修飾子cとrを提供していました。現在のosascriptは常に出力をそのままにします。必要であれば、tr(1)へパイプで渡してください。

Mac OS X 10.4より前のosascriptでは、スクリプトに引数を渡すことができませんでした。