UNIX 環境で Ruby のスクリプト script.rb を実行する時に, script.rb の1行目に #!/usr/local/bin/ruby と書いておけば
script.rbとコンソール画面から入力するだけで実行できてしまいます. 似たようなことをWindows 95 のDOSプロンプトで実現するために mkcom をこのサイトで紹介しています.
ですが DOSプロンプトを使わず,tcsh を使う方法もありますので, それを紹介します.
autoexec.bat ファイルで環境変数 HOME を設定します.
set HOME=C:\myhomeHOME で指定したフォルダに tcsh の設定ファイル .tcshrc を作ることになります.
以下の3行の中身のファイルを作って先ほど HOME で指定したフォルダに .tcshrc という名前で保存します.
set prompt='%/\>' setenv TCSHSUBSTHB "/usr/local/bin/ruby c:/bin/ruby.exe;" set path=(. $path)上の例は,ruby.exe ファイルが c:\bin フォルダにある場合です. 例えば,c:\ruby\bin フォルダに ruby.exe ファイルがある場合には
setenv TCSHSUBSTHB "/usr/local/bin/ruby c:/ruby/bin/ruby.exe;"となります. またパスの区切りは "\" ではなく "/" を使うことに 注意してください.
Ruby の他に Perl も使っている人でPerlの設定もしたい場合には
setenv TCSHSUBSTHB "/usr/local/bin/ruby c:/bin/ruby.exe;/usr/local/bin/perl c:/bin/perl.exe;"と設定します.
以下の2行の中身のファイルを作って,hello.rb という名前で保存します.
#!/usr/local/bin/ruby puts "Hello World"エクスプローラーから tcsh.exe をダブルクリックして実行してください. DOS プロンプトの画面が表示されます.
DOS プロンプトの画面で hello.rb を保存したフォルダに移動してから hello.rb とタイプしてみてください.
これで, hello.rb と入力するだけでスクリプトを実行できるようになったはずです. mkcom ともおさらばできます.
mkcom の作者自ら「mkcomともおさらば」などと書いてしまった. ・・・まあ,tcsh を使うこういう方法もあるということです.
今のところ,Windows 95 で tcsh を使った場合1つだけ不満があります. 日本語の表示はできるのですが,日本語入力ができないことです. (Windows NT だと日本語入力もできるらしいです.)
対処方法または設定方法の情報をお待ちしてます.