2.6 Executable Octave Programs

Last-modified: 2025-03-01 (土) 21:23:05

2.6 実行可能なオクターブプログラム

Octaveを学んだら、'#!' スクリプト メカニズムを使用します。これは、GNU システムおよび多くの Unix システム1で実行できます。

自己完結型の Octave スクリプトは、ユーザーが Octave 言語で記述されたプログラムであることを知らなくても呼び出せるプログラムを作成するときに便利です。Octave スクリプトは、データ ファイルのバッチ処理にも使用されます。Octave の対話型部分でアルゴリズムが開発され、テストされたら、それを実行可能なスクリプトにコミットして、新しいデータ ファイルで何度でも使用できます。

実行可能なOctaveスクリプトの簡単な例として、次のようなテキストファイルを作成します。こんにちは次の行が含まれます。

#! octave-interpreter-name -qf
# a sample Octave program
printf ("Hello, world!\n");

( octave-interpreter-name はOctave バイナリのフルパスと名前に置き換えてください)。これは '#!' はファイルの先頭に表示されます。ファイルを実行可能にした後 ( chmodUnix システムでは コマンドを使用)、次のように入力するだけです。

hello

シェルで、次のように入力した場合と同じように、システムは Octave を実行するように手配します。

octave hello

'で始まる行#!' は、実行するインタープリタのフルパスとファイル名、およびそのインタープリタに渡すオプションの初期コマンドライン引数をリストします。オペレーティングシステムは、指定された引数と実行されるプログラムの完全な引数リストを使用してインタープリタを実行します。リストの最初の引数は、Octave 実行可能ファイルの完全なファイル名です。引数リストの残りの部分は、Octave へのオプション、またはデータファイル、またはその両方になります。'-qf' オプションは通常、スタンドアロンの Octave プログラムで指定され、通常の起動メッセージを印刷しないようにし、特定のユーザーのコンテンツに応じて異なる動作をしないようにします。 ~/.octavercファイル。コマンドラインから Octave を起動するを参照してください。

一部のオペレーティングシステムでは、「#!'。また、'#!' 行は、さまざまなシェル/システムによって異なる方法で解析されます。それらのほとんどは、すべての引数を 1 つの文字列にまとめて、それを単一の引数としてインタープリタに渡します。この場合、次のスクリプト:

#! octave-interpreter-name -q -f # comment

コマンドラインで次のように入力するのと同じです。

octave "-q -f # comment"

エラーメッセージが生成されます。残念ながら、Octave は、それがコマンドラインから呼び出されたのか、それとも「#!' スクリプトなので、' を使用する際には注意が必要です。#!' メカニズム。

Passing Arguments to Executable Scripts
Dual-Purpose Executable Scripts and Octave Functions

Footnotes
(1)
の#!' メカニズムは、Berkeley Unix、System V Release 4、および一部の System V Release 3 システムから派生した Unix システムで動作します。