標準 - みる会図書館


検索対象: UNIX MAGAZINE 2001年10月号
49件見つかりました。

1. UNIX MAGAZINE 2001年10月号

連載 / シェルの魔術ー 0 図 3 標準出力と標準工ラー シェ丿レ 端末 標準 出力 端末 標準 工ラー 起動 変更 引継ぎ コマンド ファイル 標準 出力 端末 標準 実行結果は、エラーメッセージを含めて 3 行です。出 カリダイレクションをしたとき、この 3 行が log. txt に 出力されるはすなのに、実際には最後の行だけ端末に表示 されています。この行だけ、出力リダイレクションから漏 れてしまったのでしようか ? この謎の答は、次に説明する、、標準工ラー " にありま す。 標準工ラー 標準工ラーとリダイレクト ます。一方、処理中に発生したエラーを表すメッセージは 読み込み、それを標準出力 ( ここでは log. txt) に表示し cat(l) は、引数に指定されたファイルの内容を順番に ら、、端末 " を引き継ぎます ( 図 3 ) 。 おりです。それに対し、標準工ラー箱はそのままシェルか す。これは、出力リダイレクションのところで説明したと マンドの標準出力箱に "log. txt" というファイルを入れま シェルがコマンドを起動するとき、、、 > " を発見して、コ $ ロ cat : test3. txt : No such fi1e or directory $ cat testl . txt test3. txt > 10g. txt さて、前節の謎を解明しましよう。 端末になります。 ラーは端末なので、コマンドの、、標準ェラー箱 " の中身も 動したシェルから受け継がれます。通常、シェルの標準ェ す。標準出力の場合と同様に、標準ェラーもコマンドを起 これは標準工ラーと呼ば、、標準出力箱 " とは別の箱で ラーメッセージの出力先を指定するための箱もあります。 結果の出力先が入った箱を標準出力と呼びましたが、ェ 標準ェラーに出力されます。 112 こでは、 test3. txt という 存しないファイルカ甘旨定されたため、標準ェラー ( = 端 末 ) に、 cat : test3. txt : NO such fi1e or directory 頭に 2 をくつつけたかたちで使います。 レクションは、次のように標準出力のリダイレクションの か。大丈夫、もちろんできます。標售ェラーの出力リダイ メッセージをリダイレクトすることはできないのでしよう それでは、標準ェラー箱の中身を入れ替えて、エラー 標準工ラーの出力リタイレクション というエラーメッセージカ咄力された、というわけです。 ません。 このとき、 2 > file シェルは、標準ェラーの出力リダイレクションがコマン 2 と > のあいだに空白を入れてはいけ UNIX MAGAZINE 2001.10 を選ぶことができるのでしたれしかし実際には、この箱 てきました。そして、出力先として端末やファイルなど こまで、出力先を入れるための、、箱 " があると説明し 体、これは何を表しているのでしようか。 ところで、、、 2 > " の、、 2 " の正体、気になりませんか ? ファイル・ティスクリプタとリタイレクション 2 > > file に 2 を付けるだけです。 ンが使えます。いすれの場合も、標準出力との違いは、頭 ラーでも追加のリダイレクションや閉じるリダイレクショ もちろん、新規のリダイレクションだけでなく、標準工 果が、ファイルにエラーメッセージがそれぞれ出力されま さきはどの結果とは逆に、端末に cat コマンドの実行結 cat : test3. txt : NO such fi1e or directory $ cat err . txt file_ni_tsuika sude—ni—file—ga—aru—baai $ cat testl . txt test3. txt 2 > err . txt ラー箱に、、川 e " を入れて起動します。試してみましよう。 ド行にみつかると、オ剽售出力の場合と同しように、標準ェ

2. UNIX MAGAZINE 2001年10月号

連載 / シェルの魔術ー 0 別々の窓口 図 4 標準出力と標準工ラー にはプロセスが、、外の世界の何か " と通信するための、、志 ロ " が入っていると考えたはうがより正確てす。たとえば、 端末やファイル、ネットワーク上のほかのホストなどは、 プロセスからみると、、タ ) 世界の何か " です。したがって、 これらのものに対する入出力 ( 通信 ) は、すべてこの窓口 を通しておこなわれるのです。 2 の正体に話を戻しましよう。この数字は、、、箱 " を識 男けるための言当主子です。この言当子はファイル・ディス クリプタと呼はれます。そして、ファイル・ディスクリ プタのうち、 0 ~ 2 は以下のように予約されています。 0 標準入力 1 標準出力 つまり、この、、 2 " という数字は、、標準ェラー箱 " を表す ファイル・ディスクリプタなのです。、、 2 > e " は「標準 工ラー箱 ( 2 ) に川 e への窓口を入れる」といナ未だった のですね。 ー麹勺に、リダイレクションの書式は以下のようになり ます。 司几市ル叩 file れはファイル・ディスクリプタで、几市ル叩はリダイ レクションの不鶤頁を表す記号です。 file は出力先を表します。これは、閉しる出力リダイレ クションのように、市 7 、叩によっては不要なこともあ ります。 「ほな、標準出力箱は 1 番なんやから、標準出力のリダイ レクションは、、 1 > " になるんとちゃうの ? 」 上の一般形に従うと、標準出力のリダイレクションは 、 1 > " となります。実際に、このかたちて驃準出力をリダ イレクトすることもできます。、、 > " は、、 1 > " からファイ ル・ディスクリプタを省略した特別な書き方だったわけ です。、、 > > " や、、 > & ー " についても同様です。 2 1 0 端準カ 標出 端準カ 垣人 初期状叫 .- 別もの、、 ファイルファイル 端末 標準 標準 標準 入力 出力 工ラー > ルまで解釈。 file_ni_tsuika $ cat err . txt cat : test3. txt : NO such file or directory この例では、標準出力を log. txt へ標準ェラーを err. txt へと、別々のファイルにリダイレクトしています。 それでは、標準出力と標準工ラーを同しファイルにリ ダイレクトするにはどうすればいいのでしようか。すぐ思 いっくのは、出力先に同しファイル名を指定することです ね。 $ cat testl . txt test3. txt > 10g. txt 2 > 10g ・ txt $ cat 10g. txt cat : test3. txt : NO such file or directory おや、標準工ラーはファイルに出力されましたが、標 準出力のほうは消えてしまいました。これではだめなよう です。 さきほど、ファイルへの入出力は窓口を通しておこなわ れると説明しました。上記のリダイレクションでは、標準 出力への窓口と標準ェラーへの窓口が別々に生成さそ れぞれの箱に入れられます ( 図 4 ) 。ところが、この窓口は 出力先か 1 司ーのファイルになっています。このため、 1 っ のファイルに別々の窓口から出力されることになり、ファ イルの内容がおかしくなったのです。 同しファイルに正しく出力するためには、標準出力箱と 標準ェラー箱に入れる窓口を同しものにする必要がありま す。ちょうど、複数のファイル名が 1 つのファイルの実 標準出力と標準工ラー 標準出力のリダイレクションと標準工ラーのリダイレク ションは、同時に使うこともできます。 $ cat testl. txt test3. txt > 10g. txt 2 > err . txt $ cat 10g. txt sude—ni—file—ga—aru—baai 113 UNIX MAGAZINE 2001.10

3. UNIX MAGAZINE 2001年10月号

連載 / シェルの魔術ー 0 順番を逆にしてみると・・ 図 6 同じ窓口 図 5 標準出力と標準工ラー 0 1 2 2 1 0 ファイ丿レ 端末 端末 入力 出力 ・ - 複製 - 、 末 端準カ 標出 端準カ 垣人 末 端準カ 標出 端準カ 標入 期状態 期状叫 商示 2 > & 1 まで解釈 ー複製 - 、 末 端準カ 標出 端準カ 標入 まで解 * > & 1 まで解 $ cat testl . txt test3. txt 2 > & 1 > logerr. txt 体を指し示しているように ードリンクの仕組みを思い cat : test3. txt : NO such file or directory 出してください ) 、複数のファイル・ディスクリプタが 1 $ cat logerr. txt つの窓口を指し示すようにするわけです。これを、ファイ sude—ni-file—ga—aru—baai file_ni_tsuika ル・ティスクリプタの複製といいます。ファイル・ディ $ ロ スクリプタを複製するには、以下のようにします。 このように、標準出力だけカワァイルに出力さ標準 [ れ幻 > & れ 2 工ラーは端末に出力されてしまいました。この理由は図 6 を見れば分かるでしよう。標準出力をファイルに向ける前 とれ 2 はファイル・ディスクリプタで、れ 2 て示さ に標準工ラーへ複製してしまったため、標準工ラーは端末 れる箱の中身をに複製します 5 。また、は省略する に向いたままになったのです。 ことができます。省略した場合は、標準出力、つまり 1 が 指定されたことになります。 標準入力とリダイレクト それでは、やってみましよう。 標準入力 $ cat testl . txt test3. txt > logerr. txt 2 > & 1 $ cat logerr. txt コマンドのなかには、実行中になんらかの入力を求める sude—ni—file—ga—aru—baai ものがあります。このとき、入力を取り込む、もと " を標 file_ni_tsuika cat : test3. txt : NO such fi1e or directory 準入力と呼びます。ファイル・ディスクリプタの説明で こっそり出てきていますが、 0 番が、、標準入力箱 " を表す 今度は、ちゃんと標準出力と標準ェラーが 1 つのファイ 記子てす。 ルに出力されました。このときの様子を図 5 に示します。 標準入力のリダイレクション ます、標準出力をファイルに向けます。ここまでは図 4 の 標準入力をリダイレクションして、ファイルから読み取 場合と同しですね。次に、標準ェラーを標準出力カ甘旨し示 ることもできます。これは、次のかたちで使います。 している窓口に向けなおしています。 ところで、、、 > logerr. txt" と、、 2 > & 1 " には順番があ ります。順番を逆にして実行してみましよう。 5 実際には複製しているわけではなく、、共有している " という感しです。 イ ′、ラ ′イ ア準カ フ標出 端準カ 標入 末 ア準カ 標出 端末 > 第んまで解 標準 入力 く file もちろん、ファイル・ディスクリプタを明示的に指定 して、、 0 く " と書くこともできます。 114 UNIX MAGAZINE 2001.10

4. UNIX MAGAZINE 2001年10月号

連載 / シェルの魔術ー 0 出力リダイレクション 図 2 シェ丿レ 起動 端末 変更 標準 出力 図 1 標準出力の引継ぎ シェ丿レ 端末 標準 出力 ン末 マ端準カ 標出 コ コマンド ファイル 標準 出力 起動 引継ぎ 表示する、、出力先 " がなかに入った、、箱 " をもっています。 $ ls link . 1 link . 2 この箱のことを標準出力と呼びます。 $ cat testl . txt link . 1 $ ls li Ⅱ k . 2 ←実行結果 li Ⅱ k . 2 link . 1 testl . txt これは、お馴染みの ls コマンドを実行した様子です。 このように、出力リダイレクションを利用した場合、出 2 行目か夫行結果で、コマンドを実行したシェルと同し端 カ先として指定したファイルか存在しないときは自重加勺に 末 2 に表小されています。このように、シェルから起動さ 生成されます。また、 testl. txt の内容 ( つまり、 ls コマ れたコマンドの多くは、標準出力をシェルから引き継いで ンドの実行結果 ) に、 testl. txt 自体が含まれていること 使います。つまり、コマンドの、、標準出力箱 " のなかには、 に注目してください。これは、 ls コマンドが実行される 、、そのコマンドを起動した端末 " が入っているわけです ( 図 よりも前に testl. txt が生成されていることを示していま す。つまり、出力リダイレクションでは、出力先のファイ 新規の出力リダイレクション ルはコマンドか実行されるよりも前に作られるのです。 それでは、出力先に指定したファイルがすでにある場合 、、標準出力箱 " の中身は、任意のファイルなど 3 に入れ替 はどうなるのでしようか。 えることができます。この機能を出力リダイレクションと 呼びます。これは、次のかたちてイ吏います。 $ ls link . 1 li Ⅱ k . 2 testl . txt $ echO sude—ni—file—ga—aru—baai > testl . txt > file $ cat testl . txt コマンド行にリダイレクションがあると、シェルはコマ sude—ni—file—ga—aru—baai ンドの標準出力箱に、、川 e " を入れて起動します 4 。例を見 おっと、もとの内容か消え、今回の実行結果だけになっ てみましよう。 てしまいました。このように、出力リダイレクションでは、 $ 1s > testl . txt すでにあるファイルは上書きされてしまうので注意が必要 $ ロ です。この上書きのタイミングは、新規のファイルの場合 さきはどと違い、端末に ls コマンドの実行結果が出力 と同様にコマンドの実行前です。このため、 されす、そのまま終了してしまいました。これは、シェル $ cat testl . txt > testl . txt カ鰾準出力箱の中身を端末から testl. txt に入れ替えて、 ls コマンドを起動したからです ( 図 2 ) 。そのため、 testl. といった使い方はできません。 cat コマンドか夫行される txt という新しいファイルが生成され、そこにコマンドの 前に testl. txt が上書きされてしまうからです。 実行結果カ咄力されています。 追加の出力リダイレクション 2 xterm とか kterm とか、そういうものだと思ってください。 3 ほかの端末や周辺機器、ホストなどに切り替えることかできる場合もあり 上で述べたように、出力先としてすでにあるファイルを ます。 指定した場合、もとのファイルの内容は失われてしまいま 4 プロセスカ跿力される様子は、次可以降に詳しく説明します。 testl . txt 110 UNIX MAGAZINE 2001.10

5. UNIX MAGAZINE 2001年10月号

vim 6.0 表 2 複数間を移動するためのコマンド コマンド動作 : tn : tp : ts 次の↑嚇甫の位置にジャンプ 前の候補の位置にジャンプ ー甫のリスト表示 こまでの説明では、カレント・ディレクトリにある プログラムのなかで定義されている関数についてしかタグ ジャンフ。ができません。これは、異なるディレクトリにあ るソースコードで定義されている関数や、標準 C ライプ ラリで定義された関数についてのタク 1 青報が登録されてい ないためです。 そこで、別の場所にあるソースコードにタグジャンフす るための設定方法を説明しましよう。以下では、標準 C ライプラリで定義されている一にの関数にジャンフできる 工竟を作ってみます。 はしめに、標準 C ライプラリのソースコードのあるディ レクトリ /usr/src/lib/libc に移動します。 % cd /usr/src/lib/libc 新しく生成するタグファイル用のディレクトリを作り、 ctags コマンドを次のように実行します。 % mkdir -/tags % ctags —R -p pwd' -f -/tags/libc . tags ここで指定しているオプションの意味は次のとおりで す。 ディレクトリ内のすべてのファイルを処理 ・ 'pwd' ファイル清報をフノレヾスてデータベースに各内 生成するタグファイルの名前を指定 /. vimrc に以下の行を j 助日します。 set tags=&/tags/libc . tags\ tags vim では、複数のタグファイルを同時に読み込むこと ができます。ここでおこなった設定は、カレント・ディレ クトリの tags ファイルと ~ / tags ディレクトリにオ絲タし たタグファイルの両方を読み込むようにするものです。 このように設疋しておけば、ソースコードの編集中に プログラム内で定義されている関数と標準 C ライプラリ UNIX MAGAZINE 2001 ユ 0 で定義されている関数のどちらにもジャンフできます。た とえば、 printf 関数の内部のソースコードにジャンプす ることもできます。この場合、 /usr/src/lib/libc/stdio/ printf. c のソースコードまで彩動しました。これで、その 気さえあればどこまででもソースコードを追いかけていけ そうです。 しかしながら、すこし使ってみると、かならすしもすべ ての標準 C ライプラリの関数にジャンプできるわけでは ないことが分かります。そのような場合には、やはり grep コマンドを頼りに関数が定義されている場所を探すしかあ りません。 なお、システム内のすべてのソースコードから 1 つのタ グファイルを作成すると、タグファイルのサイズが巨大に なり、結果として vim の起動にかなりの時間がかかって しまいます。注意してください。 マニュアノレの参照 前項では関数の定義部分を表示させるガ去を説明しまし たが、 vim では編集中に関数のオンライン・マニュアルを 参照することもできます。ちょっと関数のマニュアルを見 たいときなどは、シェル上で man コマンドを実行しなく ても、すぐにマニュアルを参照できます。 socket() 関数のマニュアルの参照を例に説明します。 この場合、 socket という単語の上にカーソルを置いた状態 で、、 K " を入力すると、カーソル位置の単語を自重加勺に抽 出し、 socket() 関数のマニュアルか表示されます ( 図 11 ) 。 セクション番号を指定してマニュアルを参照するには、 K を入力する前に番号を入力します。 マニュアルの表示を終了したい場合は q を押します。 しかしながら、この方法では、端末の画面がすべてマ ニュアルの表示に使われてしまうため、マニュアルを参 照しながらプログラムの編集ができないという欠点があり ます。 そこで、ウインドウ機能を使ってマニュアルをそのウィ ンドウ内に表示させるガ去を紹介します。まず、 ~/. vimrc に以下の 1 行を加えます。 source $VIMRUNTIME/ftp1ugin/man.vim これは、 vim のランタイム・ディレクトリに含まれて いる rnan. vim スクリプトを読み込むという成疋です。以 65

6. UNIX MAGAZINE 2001年10月号

連載 / シェルの魔術ー 0 file_ni_tsuika $ cat く sude Ⅱ 1 ー testl . txt file—ga—aru-baai また、あまり使い途はありませんが、次のようにする [ れ幻く & れ 2 [ れ幻く & ー と、閉しるリダイレクションや複製もおこなえます。 入力、つまり 0 カ甘旨定されたことになります。 ともには省略することが可能です。省田芋は、標準 です。 入力に与えられるべき文字列を、茁旨定するためのもの ばれるものがあります。これは、実行するコマンドの標準 リダイレクションの 1 つに ヒア・ドキュメント ヒア・ドキュメントと呼 ます。デリミタはどのような文字列でもかまいません。実 ます。 d m はたんなる区切りで、デリミタと呼ばれ ている場合は、そのファイル・ディスクリプタ ) べ度され 売〃 m ・に囲まれた文字列は標準入力 ( れカ甘旨定され de m e ん e - doc - .. 下のように使います。 ヒア・ドキュメントの書式はすこし変わっていて、以 here—document no test > kugiri > here—document Ⅱ 0 test $ cat くく kugiri 際にやってみましよう。 UNIX MAGAZINE 2001.10 場合は、デリミタの前にもタブを入れてかまいません。 あるタブをすべて取り除く、という意味になります。この くく " の直彳変に ーを続けると、そオ・助、降の各行の頁に れています。 入力中は、そのことを示す、、 > " というプロンプトか表示さ ています。また、コマンドの標準入力べ度される文字列の この例では、デリミタに、、 kugiri" という文字列を使っ $ cat くく一 kugiri > ( タブ ) here—document no test > ( タブ ) kugiri here—document Ⅱ 0 test シェル・スクリプトのなかでヒア・ドキュメントを使 うときにこの機能を用いると、コマンドに渡す文字列をイ ンデントできるので、見やすくなってイリです。 ヒア・ドキュメントには、もう 1 つイ甦リな機能があり ます。 $ cat くく kugiri testl . txt Ⅱ 0 nakami > 'cat testl . txt' > kugiri testl . txt Ⅱ 0 nakami sude—ni—file—ga—aru—baai file_ni_tsuika はバッククオートと呼ばれます。コマンド行では、バ ッククオートて悃まれた部分をさきに実行し、その結果で 置き換える、という意味をもちます 6 。 ヒア・ドキュメントでは、コマンドに渡す文字列中の バッククオートを解釈し、そのコマンドの実行結果に置換 します。はかに、パラメータ置換 7 もおこなわれます。 一方、デリミタの地頁に、、 \ " カ咐いている場合、もしく はデリミタが、、 ' " または、、” " で囲まれている場合 8 は、コ マンド置換とパラメータ置換はおこなわれません。 testl . txt Ⅱ 0 nakami > kugiri cat testl . txt ( testl . txt Ⅱ 0 nakami cat くく 'kugiri' ンについて説明しました。次回は、複数のコマンドをつな 今回は、コマンドの入出力を切り替えるリダイレクショ ccat testl . txt' 6 これをコマンド新奐といいます。詳しくはあらためて説明します。 ( もりしま・なおと奈良先端科 ! 物支彳大判完大学 ) ぐ、、パイプ " を紹介する予定です。 これを、デリミタカ引用されているといいます。 7 これもいすれ・・・ 8 115

7. UNIX MAGAZINE 2001年10月号

P 0 f 2 s s i 0 n - 0 r k s t a t テ k S t 日 t 1 0 n m p a c t ( 0 m p u t i n 9 i t h b i 9 p 0 s s i b i 1 朝呷 act co 呷″血 g with ん g アあ前 CO 〃 act 召 e Compact は、名前の通りコンパクトで場所を取らない設計ながら、デス外ップ環境から小規模サーパ用途まで対 応可能な、個人やワークグループでの「べース」となるマシンです。 7(K)MHz 動作の celeron CPU と IDE インターフェース を採用、互換性にすぐれたⅲ tel OBX チップセットにより、 L ⅲ ux などの各種オープンソース ()S や、 w ⅲ dows 系 0 & こ幅 召′ 0 e / 0 0 / WO ′た訂〃 0 〃フ 広く対応しています。小型ながら 3.5 インチベイと PCI スロットを 3 スロット備えており、拡張性も確保しました。また低価格な がら ECC メモリ、高性能電源などの採用による高信頼設計を実現、パーソナルユースから小規模サーパまでお使い頂け る、ぶらっとホームお簡めのマシンです S 〃 e 襯 8 S ・プロセッサ lntel Celeron Processor 700MHz ・チップセット lnte1440BXAGP set ・メモリ標準図 MB ~ 最大 512MB ECC 対応 ・ HDD lDE20GB 5 , 400rpmX 標準 1 ~ 最大 2 ・ LAN 10Base-T/100Base-TX (lntel 82558 XI ポート ) Standard System IS は、 (K)MHz 動作の Penium Ⅲを搭載した高性能、高信頼マシンです互換性に ・ VGA OntN)ardATl 3D Rage LTPr08MB すぐれた lntel 4 BX チップセットにより、 L ⅲ ux などの各種オープンソース OS や W ⅲ dows 系 OS に幅広く対応 ・筺体コンパクトサイズケース ) 3 mmX ( H ) 95mmX ( P ) 370mm ( 縦置き可能 ) しています。 Ultra ・ Wide SI スルージ、 ECC メモリ、ハードディスクの長寿命化を実現する冷却ファン、国産 の高信頼電源の採用など、サーパとしてもお使い頂ける高い信頼性を確保しています。オフィスでのパーソナ 基本構成価年蹲四呷 ~ ルマシンから、エンジニアリン久サーパまで幅広くお使い頂ける、まさに Standard ”なマシンです ・プロセッサ旧 t 可 Pentium Ⅲ Processor 800MHz ・チップセットー猷可 440BX AGP set ・メモリ標準 128MB ~ 最大 1 , 024GB ECC 対応 ・ HDD UItra2 SCS19.1 GB 仏 200mm ) ~ 36.4GB ( 10 , 80 甲 m ) X 標準 1 ~ 最大 2 ・ LAN 10Base-T/100Base-TX(lntel 82559X1 ポート ) ・ VGA Matrox Millennium G200 8MB AGP ・筺体ミドルタワー ) 220mmX ( H 71 mmX(D)454mm 基本構成価格 : 188 , 000 円 ~ E, 厩 e 挈′な e ” SO ん々 0 〃 ュ乃亡 eX8200 〃 PrizeX 8 ) H は、 WEB システムのパックエンドや基幹業務向けに最適な、高性能なエンタープライズ・サーパで す。 ServerWorks 社の Champion Ⅲ LE チップセ外を採用し、 133MHz パス動作の Pentium Ⅲプロセッサを デュアルで搭載。ビット儿レ以や内蔵の UI («) SI コントローラとあいまって、高速な処理が可能です また最大 12 台まで搭載可能な HDD べイを備えており、内蔵 RAID を構成することができるなど、拡張性にも優れ ています。 ・プロセッサ lntel Pentium Ⅲ Processor 733MHz ・チップセット ServerWorks Champion Ⅲ LE ・メモリ標準 256MB ~ 最大 4 , 0 % MB ECC 対応 ・ HDD UItra2 SCSI 18.2GB ( 10 , 0 「 pm ) ~ 36.4GB ( 10 , Orp X 標準 1 ~ 最大 10 ・ LAN 10Base-T/100Base-TX (lntel 82559X1 ポート ) ・ VGA ATI Xpert98 8MB PCI ・篋体 19 インチラック 5U (W) 440mmX ( H ) 219mmX(D)755mm ン 基本構成価格 : 598 , 000 円 ~ ト r 0 f 2 S S 1 p 0 f 2 5 5 i 0 n 」 ) 0 f e S 0 n 0 r k s t 己 t i 1 a 1 1 0 n 0 」 0 f e S S i 。。・ ( 、 ! 贏 9 p 0 s s i b i : 8 t i 0 n 1 S e S e r V e S 0 1 u t E n t e r p r 0 は誉 3 a V 1 0 q 2 S 1 9 n ac saving design ・ & 5 ノ 00 5U の 19 インチラックマウントスペースに最大 4 つのユニットを搭載できるため、多くのホスティングサイト やサーパーサイトなど空間に対するコストを重視しなければならない用途において最適なソリューショ ンですまた IU サイズなど薄型のタイプに比べ内部空間に余裕があるため熱の問題も発生しにくく、 より高速な CPU への対応、高い拡張性など柔軟なニーズに対応することが可能です。 ・プロセッサー猷可 CeIeron processor 750MHz ・チップセット旧 t 引 440BX AGPset ・メモリ標準 64MB ~ 最大 1 , 024MB ECC 対応 ・ HDD Ultra2 SCS19.1 GB , 2 側 rpm ) ~ .4GB ( 10 , ) X 標準 1 ~ 最大 2 ・ LAN Onboard 旧 t 引 82559C0n ⅳ部十旧回 PRO / 100 + マネージメント・アダブタ XI ・ VGA Onboard C&T 6 00 2MB ・筺体 1 9 インチラック 1 / 4 幅筺体 ( ) 11 OmmX(H)220mmX(D)570mm 基本構成価格 : 248 , 000 円 ~ マルチ OS/PC-UNIX べンダー ぶらっとホーム株式会社 ※仕様は予告なく変更することがあります。※登場する社名及び製品名は各社の商標または登録商標です。 本社 : 〒 101 ・ 821 東京都千代田区外神田 2-4-6 ササゲビル TEL. 03-3251 ・ 268 FAX. 03 ・ 3251-2 2 店 : 〒 101-821 東京都千代田区外神田 1 -11-4 ミッワビル TEL. ・ 3251-7611 FAX. 03-3251- 4 各種カスタマイズお受けいたします。お気軽にご相談くたさい。 E-mail factory@plathome.(). JP お問い合わせはこちらまで 0120-795-123 URL http://www.plathome.co. JP オンラインショッどング受′ PIat' Home URL http://online.plathome.co.jp/

8. UNIX MAGAZINE 2001年10月号

物 00 S UN ー X マシンと Windows ネットワークとの総合環境を実現。 Windows 2000 Windows Me 対応 実績で選ぶなら 信頼で選ぶなら ネットワーク上の UN Ⅸアプリケーションを Windows ネットワークのファイルサーバーとして Windows マシンからシームレスに実行 高信頼な IJN Ⅸマシンの導入を実現。 ・業界最高クラスのハイパフォーマンス、高安定性を実現 ・安心できる技術サポートが信頼性の高い UN Ⅸサーバの導入を的確に支援。 ・ Windows の操作感覚そのままに UN Ⅸと Windows の混在環境を創出。 ・ UN Ⅸマシンへのインストールだけで導入でき、メンテナンスコストを大幅に削減。 ・ 3 次元アプリケーションに欠かせない OpenGL に対応。 ・ Windows の共有フォルダ / プリンタに UN Ⅸからもアクセス可能。 Windows / UN Ⅸ混在環境でのシームレスなリソース共有を実現 ・ Windows Me 対応 ・ ESP 総研調べ 1999 年度 充実したサホートが活用を支援 国内 PC X サーバ市場シェア No. 1 * XVision EcIipse ” VisionFS ・標準小売価格 : XVision Eclipse 1 -user Base pack Y78 000 ( 税別 ) ※マルチューサバックもご用意しています。 詳しい情報は下記へ。評価版をダウンロ - ドできます。 UN Ⅸサーパソリューション for Windows ネットワーク Windows95/98/Me/NT/TSE/2000 対応 PC X サーバ TM V 卲 3 』 ■標準小売価格 : sco VisionFS 1 -User Base pack Y24 800 ※マルチュ - サバックもご用意しています。 詳しい情報は下記へ。評価版をダウンロードできます。 ( 税別 ) http://www.csk.co.jp/psi/visionfs/ http://www.csk.co.jp/psi/xvision/ トーメンサイノ←ビジネス株式会社 ■日本語版開発元 ンタ—ネットプロダクツ事業本部 〒 108-0075 東京都港区港南 2-11-19 TOMEN TEL. 03-5715-0822 FAX. 03-5715-0830 URL : http://www.sco.tomen-g.co.jp/sco/ CYBER BUSINESS E-Mail: scoinfo@tomen-g. CO. jp ■販売代理店 株式会社 CSK 製造・流通・サービスシステム事業本部 流通・サビズジズテム第ニ事業部 〒 170-0013 東京都豊島区東池袋 3-22-17 CSK コンピュータビル 2F TEL. 03-5956-9360 FAX. 03-3986-7239 URL: http://www.csk. CO. jp/psi E-mail: vision@pi.csk.co.jp

9. UNIX MAGAZINE 2001年10月号

JavaServer Pages 荒井美千子 暗黙オプジェクト 前回は、エラーか発生したときにどこをヾればよいか を説明するために、エラーを起こす JSP ページを作りま した。今回は、きちんと動く JSP ページを作りたいので すが、どこから手をつけましようか ? JSP ページに Java て書いた JSP コードを埋め込む方 法はもうご存じですまた、 JSP コードに Java の四則 演算や条件文などか書けることもお分かりでしよう。しか し、そこから先をどうすれはよいか悩んでいませんか ? Java や JSP にかぎらす、プログラミング言語をひと とおり憶えても、それだけですぐに実用的なプログラムが 作れるわけではありません。すくなくとも、 ・プログラムから、外部と 1 辭にをやりとりするガ去 ・プログラムカリ用できる基本的なライプラリ類 は知っておく必喫があります。たとえば、端末上で動くプ ログラムを C 言語で書くなら、ユーサー・インターフェ イスに使う標準入出力や、システムコールと標準 C ライ プラリの知識は最低限必喫でしよう。 JSP でも同しことがいえます。つまり、 ・ JSP コードから、外部の JSP サーバーやプラウサと情 報をやりとりするガ去 ・ JSP コードか利用できる基本的なクラスライプラリ を知ることが、実用的なプログラムを作る第一歩です。後 者のライプラリについていえば、 Java か提供している既 存のクラスライプラリがそのまま使えます。一方、前者の 情報のやりとりのためには、 JSP 専用のクラスが用意され ています。 すでにこの連載では、 JSP の式タ久 く % = 式 % > 120 や、 JSP のコード、 out ・ println( 文字列 ) のように、プラウザに任意の文字列を出力するサンプルを 紹介しました。また、 URL などに設定された引数を受け 取る JSP コードのサンフ。ルも紹介しました。 request . getParameter()€ラメータ名 ) これらのコードのなかで使われている "out" や、、 re- quest" は、 JSP コードが外部と情報をやりとりするため に提供されているクラスのオプジェクト ( インスタンス ) です。これらのオプジェクトは、 JSP コードのなかて新 たに生成したり設定しなくても、あらかしめすぐに参照で きるように準備されているビルトイン・オプジェクトでも あります。 JSP の仕様書によれは、このようなオプジェ クトは暗黙オプジェクト (lmplicit Object) と呼ばれて います。 今回は、 ・どのような日韶オプジェクトがあるか オプジェクトの機能や使い方 ・ request 日音 についてお話しします。 暗黙オプジェクトの種類 JSP コードから利用できる暗黙オプジェクトにどのよ うなものがあるかを知るには、 JSP の仕様に頼るのがよ いでしよう。表 1 は JSP 1.1 で定義されている日韶オプ ジェクトと、そのオプジェクトに対応するクラス名です。 ただし、 request は javax. servlet. ServletRequest ま たはそのサプクラスのオプジェクトで、 JSP サーバーが UNIX MAGAZINE 2001.10

10. UNIX MAGAZINE 2001年10月号

連載シェルの魔術ー 0 ぐっとくる PIM (PersonaI lnformation Manager) がないのはたしかに大きな間題です。しかしこれに関して は、テキストにメモをとるだけでもとりあえす間に合いま すし、スケジュール管理用の Web をノート PC 上に作っ てもよいので、頑張ればなんとかなりそうです。 PIM として使うからノート PC がさらに重くなる、な んてことはありませんが、 PC 自体の重さばリです。 「こんな重い鞄、よく持ち歩くよなあ」 とよく言われますが、実際、この鞄のせいで腰を痛めて しまいました。いつもこのなかに入っているノート PC も、そろそろ持ち歩かなくてもすむようにしたいのです が、 PIM として使うとなると必寸秀のアイテムになってし まいます。 そして、一番の間題は起重加寺間でしよう。コールドプー トはいうにおよばす、サスペンドやハイバネーションから の復帰にもけっこうな時間がかかります。そのため、 yu: じゃあ、次のミーティングの日程決めようか。 私 : ちょっと待って、 PC プートするからさ。 yu : いつが空いてる ? 私 : そうだね。 という会話カ舸度も交わさ に達したのです。 システム手帳て頑張る これではだめだ といつ糸篩刪 スケジュール管理の代表といえは、やはりシステム手帳 でしよう。起重加寺間も、鞄のなかから取り出し、ボタンを 外して開くまで 5 秒くらいしかかかりません。その場て絵 を描いたりするのもお手のものです。 しつはその昔、システム手帳を使っていたことがあり ます。しかし、あまり染むことかて、きませんでした。予 定を簡単にコヒー / 移動できない、検索がめんどうくさい、 予定を人とやりとりできない、などの理由が考えられます が、手書きするのがあまり好きではなかった、というのが 一番大きな理由かもしれません。 いらっしゃい、 CLIE PEG-N700C そんなわけで、 PDA を購入することに決めました。最 初はスケジュール管理さえできれはいいやと思っていたの UNIX MAGAZINE 2001.10 で、面なものを買い求めるつもりでした。しかし、折し も PDA 業界は PEG-N700C ( ソニーの palm 機 ) の発 売直前。あれだけ、 「 CLIE なんて買わないよ。スケジュール管理ができれば いいだけだもん」 と宣言していたにもかかわらす、ショウルームで見た PEG-N700C の表示の美しさに、 「やつば CLIE だよなあ、日本語も綺麗だし、反夜品 もはっちりじゃん ? ジョグダイヤル ? 必須でしよ、必彡比 などと手のひらを返した私がいたのでした。 では、実際のところ PDA はどうかというと、情報を 管理するプラットホームとしては、重量もさほどなく、起 動も速く、入力もそれはど煩わしくないので上交茴足し ています。とくに起動か速いのは重要で、スケジュールだ けでなく、ちょっとしたメモをとるのにもたいへん重宝し ます。 ところでメモといえは、皆さんは UNIX を使っている とき、コマンドの実行結果をどこかに書き留めておきたい と思うことはありませんか ? 「つねに裏紙を用意しておいて電光石火の早技でメモをと るっす」 「いやいや、こんなときこそ PDA でしよ」 「なんの、デジカメで一。 - 一撃だ」 なんて会話がはたしてあるのかどうカ吩かりませんが、シ ェルにはコマンドの出力をファイルに書き出すための、、リ ダイレクション " という便利な機能があります。今回は、 このリダイレクションをとりあげます。 なお、今回も Bourne シェルを前提として説明してい きます。このため、 C シェルや Bourne Again シェル 由来の /bin/sh では、結果が異なることがあるので注意し てください。 皆さんがコマンドを実行したとき、多くの場合はなんら かの結果が表示されますね。これらのコマンドは、結果を 標準出力とリダイレクト 標準出力 109