Next: , Previous: , Up: Forth Words   [Contents][Index]


6.31 Passing Commands to the Operating System

Gforth を使用すると、 (そのようなものが存在する場合、)ホスト・オペレーティング・システムのシェルで実行するための任意の文字列をシェルに渡すことができます。

sh ( "..." –  ) gforth-0.2 “sh”

行(コマンド・ライン)の残りの部分をシェルコマンドとして実行します。 その後、 ワード $? によってコマンドの終了ステータスを取得します。

system ( c-addr u –  ) gforth-0.2 “system”

c-addr u で指定された文字列をホスト・オペレーティング・システムに渡し、 サブ・シェルで実行します。 その後、 ワード $? によってコマンドの終了ステータスが生成されます。 環境変数 GFORTHSYSTEMPREFIX の値 (またはそのデフォルト値) が文字列の先頭に付加されます(主に、 Cygwin がデフォルトで使用するシェルではなく、 Windows のシェルとして command.com の使用をサポートするためです。)。 see Environment variables

sh-get ( c-addr u – c-addr2 u2  ) gforth-1.0 “sh-get”

シェル・コマンド addr u を実行します。 c-addr2 u2 はコマンドの出力です。 終了コードは $? にあります。 コマンドの出力は sh$ 2@ にもあります。

$? ( – n  ) gforth-0.2 “dollar-question”

Value – 最後に実行された system コマンドによって返された終了ステータス。

getenv ( c-addr1 u1 – c-addr2 u2 ) gforth-0.2 “getenv”

文字列 c-addr1 u1 は環境変数名を指定します。 文字列 c-addr2 u2 は、 ホスト・オペレーティング・システムによる、 その環境変数の展開結果です。 環境変数が存在しない場合、 c-addr2 u2 は長さ 0 文字の文字列を返します(訳注: 存在しない:c-addr2,u2 = 0, 0 存在するけど中身が空: 【有効なアドレス】, 0)