前: ar cmdline, 上: ar


1.2 スクリプトを用いたarの制御

     ar -M [ <script ]

単一のコマンドラインオプション-Marで用いた場合,基 礎的なコマンド言語でその処理を制御することが可能です.arのこ の形式は,標準入力が端末から直接来ている場合,対話的に処理します.対話 的に使用している間,arは入力を促し(プロンプトは`AR >'), エラー後も実行を続けます.標準入力をスクリプトファイルにリダイレクトし ている場合,プロンプトは表示されず,arはエラーが発生すると(ゼ ロでない終了コードで)実行を終了します.

arコマンド言語は,コマンドラインオプションと等価に設計されて いません.実際,それはアーカイブ上の制御が若干少なくなっています. コマンド言語の目的は,MRI “librarian”プログラムに対して書かれたスクリ プトを既に所有している開発者が,gnu arへの変換をより簡単 にすることです.

arコマンド言語の構文は簡単です.

以下のものは,arで使用することが可能な,または,ar を対話的に使用しているときのコマンドです.そのうちの三つは特別な意味を 持ちます.

OPENCREATE現在のアーカイブ(current archive)を指 定し,それはそれ以外のほとんどのコマンドが要求する一時的なファイルです.

SAVEは,スクリプトでこれまでに指定された変更をコミットします. SAVEの前のコマンドは,現在のアーカイブの一時的なコピーに対しての み効果があります.

ADDLIB archive
ADDLIB archive (module, module, ... module)
archiveのすべての内容(または,指定されている場合,アーカイブのそ れぞれの指名されたmodule)を,現在のアーカイブに追加します.

OPENCREATEを前もって使用することが要求されます.

ADDMOD member, member, ... member
それぞれの指名されたmemberを,モジュールとして,現在のアーカイブ に追加します.

OPENCREATEを前もって使用することが要求されます.

CLEAR
現在のアーカイブの内容を削除し,最後にSAVEされてからのあらゆる処 理の効果を無効にします.現在のアーカイブが指定されていない場合でも実行 可能です(効果はありません).
CREATE archive
アーカイブを作成し,それを現在のアーカイブにします(その他,多くのコマン ドに対して必要になります).新しいアーカイブは,一時的な名前で作成されま す.それは,SAVEを使用するまで,archiveとして実際に保存さ れません.既存のアーカイブに優先可能です.同様に,指名されている既存の archiveファイルの内容は,SAVEまで破壊されません.
DELETE module, module, ... module
リストアップされているそれぞれのmoduleを,現在のアーカイブから削 除します.`ar -d archive module ... module' と同じです.

OPENCREATEを前もって使用することが要求されます.

DIRECTORY archive (module, ... module)
DIRECTORY archive (module, ... module) outputfile
archiveに存在している指名されたそれぞれmoduleをリストアップ します.別のコマンドVERBOSEで,出力形式を指定します.冗長出力が オフのとき,出力は`ar -t archive module...'のよう になります.冗長出力がオンのとき,リストは`ar -tv archive module...'のようになります.

出力は通常,標準出力に流れていきます.しかし,outputfileを最後の 引数として指定した場合,arはそのファイルに出力を変更します.

END
arを,正しく完了したことを示す終了コード0で終了します. このコマンドは出力ファイルを保存しません.最後のSAVEコマンド以降 に現在のアーカイブを変更した場合.これらの変更は失われます.
EXTRACT module, module, ... module
指名されたそれぞれのmoduleを現在のアーカイブから抽出し,それらを 現在のディレクトリに個別のファイルとして書き出します.`ar -x archive module...'と同じです.

OPENCREATEを前もって使用することが要求されます.

LIST
現在のアーカイブのすべての内容を,VERBOSEの状態に関わらず, “verbose”形式で表示します.効果は`ar tv archive'に似ていま す.(この単独コマンドはgnu ar拡張で,MRI互換に提供されて いるものではありません).

OPENCREATEを前もって使用することが要求されます.

OPEN archive
現在のアーカイブとして使用するために,既存のアーカイブを開きます(他の多 くのコマンドに対し必要です).それに続くコマンドの結果からのあらゆる変更 は,次にSAVEが使用されるまで,archiveに対し実際に効果はあ りません.
REPLACE module, module, ... module
現在のアーカイブで,それぞれの(REPLACEの引数で指名された)既存の moduleを,現在のワーキングディレクトリのファイルで置換します.エ ラー無くこのコマンドを実行するために,ファイルと現在のアーカイブのモ ジュールの両方が存在する必要があります.

OPENCREATEを前もって使用することが要求されます.

VERBOSE
DIRECTORYからの出力を管理している内部フラグを切り替えます.フラ グがオンのとき,DIRECTORY出力は,`ar -tv '...からの出力 に一致します.
SAVE
現在のアーカイブへの変更をコミットし,それを,最後のCREATEOPENコマンドで指定された名前のファイルに,実際に保存します.

OPENCREATEを前もって使用することが要求されます.