PAWで使われるコマンドラインインタープリターはKUIPと呼ばれています。 そこでもちいられるコマンドは階層化されています。HELPコマンドを入力して みましょう。
PAW > help From /... 1: KUIP Command Processor commands. 2: MACRO Macro Processor commands. 3: VECTOR Vector Processor commands. 4: HISTOGRAM Manipulation of histograms, Ntuples. 5: FUNCTION Operations with Functions. Creation and plotting. 6: NTUPLE Ntuple creation and related operations. 7: GRAPHICS Interface to the graphics packages HPLOT and HIGZ. 8: PICTURE Creation and manipulation of HIGZ pictures. 9: ZEBRA Interfaces to the ZEBRA RZ, FZ and DZ packages. 10: FORTRAN Interface to MINUIT, COMIS, SIGMA and FORTRAN Input/Output. 11: NETWORK To access files on remote computers. 12: OBSOLETE Obsolete commands
これらはコマンドの一番上の階層に該当します。それぞれおもにカテゴリー (PAWの用語ではメニューパス)を表しています。実はHELPコマンドはKUIPとい うカテゴリーのHELPコマンドです。KUIP/HELPとタイプすべきなのですが他の カテゴリーにHELPはないのでデフォルト解釈でKUIP/HELPが実行されたのです。 例えばCREATEとだけやってみましょう。いくつものカテゴリーがCREATEコマン ドを持っているのでAmbiguousといって怒られます。KUIPは非常に親切なので どのカテゴリーがCREATEを持っているかも教えてくれます。
PAW > create *** Ambiguous command create. Possible commands are : /KUIP/ALIAS/CREATE /VECTOR/CREATE /NTUPLE/CREATE /PICTURE/CREATE PAW >
このように融通を利かせてくれます。コマンドもですからユニークに識別でき る範囲で短縮して入力することができます。HELPはHEでOKです。コマンドに使 われる文字は大文字小文字が区別されません。HELPでの表記は大文字になりま すが小文字で入力しても構いません。本書では本文中では正式名称でコマンド を記述しますが実例ではカテゴリー名を省略したりコマンドを適当に短縮した 書き方がしてあります。
まずはHELPを使いこなせるように練習してみましょう。先程と同じように HELPとだけ入力します。カテゴリーに番号がついて表示された後、
Enter a number ( 'Q' =command mode ):
KUIPについて見てみましょう。1と入力します。次のように表示されます。
Enter a number ('Q'=command mode): 1 /KUIP Command Processor commands. From /KUIP/... 1: * HELP Give the help of a command. 2: * USAGE Give the syntax of a command. 3: * MANUAL Write on a file the text formatted help of a command. 4: * EDIT Invoke the editor on the file. 5: * PRINT Send a file to the printer. 6: * PSVIEW Invoke the PostScript viewer on the file. 7: * LAST Perform various operations with the history file. 8: * MESSAGE Write a message string on the terminal. 9: * SHELL Execute a command of the host operating system. 10: * WAIT Make a pause (e.g. inside a macro). 11: * IDLE Execute a command if program is idle. 12: * UNITS List all Input/Output logical units currently open. 13: * EXIT End of the interactive session. 14: * QUIT End of the interactive session. 15: FUNCTIONS *** KUIP System Functions *** 16: * BUGREPORT Email a bug report or comment to the PAW team. 17: * VERSION Print the version string for PAW and the underlying packages. 18: ALIAS Operations with aliases. 19: SET_SHOW Set or show various KUIP parameters and options. Enter a number ('\'=one level back, 'Q'=command mode):
KUIPカテゴリーで使えるコマンドなどが表示されます。数字の次に*印がつい
たものがありますがそれはコマンドとして実行できるものであることを表して
います。QUITには*がついています。実行できます。ALIASにはついていません。
さらにその下に構造があってこれ自身がコマンドではないことを表しています。
見たい項目の番号を入力するとさらに下のレベルにはいっていけます。\
を入
力すると一つ上のレベルに戻ります。HELPはこのように階層化された文書の中
を移動する感じで解説を読んでいくことになるわけですが、コマンドの引数の
順番などちょっと思い出せないときにいちいちHELPというのも...というとき
はU SAGEコマンドを使います。
PAW> USAGE HELP * KUIP/HELP [ ITEM OPTION ]
一行で文法だけを表示してくれます。説明を紙にして眺めたいときはMANUALコ マンドでテキストファイルやTeXファイルにHELPの解説を出力してくれます。
コマンドのシンタックスルール(形式に関する文法)についてまとめておきま しょう。KU IPではコマンド引数は基本的に位置依存です。それぞれの引数は 空白をはさんで置いていきます。複数の項目を一つの引数の位置に与えたい場 合は,でそれらをはさみます。値を与えたくない引数には!と書いておきます。 もちろんそれより後の引数も与えなくてよいときはすべて省略できます。
コマンドラインの中では*から行末まではコメントとして扱われます。コマ ンドや引数が長くなって一行に入りきれないときは末尾に_をつけます。次の 行が継続行として扱われます。一行に複数のコマンドを並べて記述するときは; で区切ります。
PAWの中からシェルコマンドを使うときはSHELLコマンドを使います。引数を 与えないでSHELLを実行するとサブシェルが起動されます。テキストファイル を編集するときはKUIP/ EDITコマンドが使えます。単に
PAW > edit file.txt
でテキストエディターが起動されます。エディターは KUIP/SET_SHOW/HOST_EDITORコマンドで設定できます。環境変数にEDITORなど を設定していれば調べてくれます。こういった設定は自分のホームディレクト リに.pawlogon.kumacというファイルを作ってそこにコマンドを書いておけば PAWを立ち上げる度に読み込んで実行してくれます。