2007年12月29日土曜日

nmap4.50をvine4.2にインストール

make installする段階で以下のエラーがでてとまった。
vine4.1のときは、何も苦労するところがなかったが。
そのときのnmapのversionはなんだったかな。

error: invalid Python installation: unable to open /usr/lib/python2.4/config/Makefile (No such file or directory)
make: *** [install-zenmap] エラー 1

結局、調べるのも面倒だったのでapt-getでインストール。
あとで調べておこう。

2007年12月10日月曜日

rubyを使って、標準入力から入力を受け付けるプログラムに入力値を渡す

 標準入力から入力(整数値)を受け取って、それを用いるプログラムを使用する時のお話。
入力値をー8から8まで1ずつ増やしていき、各々の値に対してそのプログラムを走らせる必要があったのだが、rubyで自動化するのに少し手間取った。
 これまでは、perlを用いて下のようにしていた。


#!/usr/bin/perl
for($i=-8; $i<=8; $i++){
system("echo $i | 実行プログラム");
}


これをrubyで行おうとして、はじめは次のように書いた。


#!/usr/bin/ruby
for i in -8..8
system("echo i | 実行ファイル");
end


 ところが、rubyではrubyスクリプト内で用いられているiは""の中では展開されない。
perlでは数値として扱われるところがrubyとperlにおける違いの一つのようだ。
 そこで、式展開 #{}を用いて以下のように修正する。


#!/usr/bin/ruby
for i in -8..8
system("echo #{i} | 実行ファイル");
end


 これで期待どおりに動いた。