[#39325] File.fnmatch の改良について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

はじめまして、山本です。

18 messages 2004/03/05

[#39429] trial version of Ruby/Tk — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

18 messages 2004/03/23
[#39454] Re: trial version of Ruby/Tk — "Shirai,Kaoru" <shirai@...> 2004/03/31

白井です。

[#39460] Re: trial version of Ruby/Tk — Hidetoshi NAGAI <nagai@...> 2004/04/01

永井@知能.九工大です.

[#39465] Re: trial version of Ruby/Tk — "Shirai,Kaoru" <shirai@...> 2004/04/01

白井です。

[#39466] Re: trial version of Ruby/Tk — Hidetoshi NAGAI <nagai@...> 2004/04/01

永井@知能.九工大です.

[#39453] Re: int/int in Ruby2? — Masaaki Sakano <mas@...>

坂野 正明です。

36 messages 2004/03/31
[#39455] Re: int/int in Ruby2? — NISHIMATSU Takeshi <t-nissie@...> 2004/03/31

西松と申します.

[#39470] Re: int/int in Ruby2? — Masaaki Sakano <mas@...> 2004/04/01

坂野 正明です。

[#39473] Re: int/int in Ruby2? — matz@... (Yukihiro Matsumoto) 2004/04/01

まつもと ゆきひろです

[#39484] Re: int/int in Ruby2? — Masaaki Sakano <mas@...> 2004/04/03

坂野 正明です。

[#39528] Re: int/int in Ruby2? — "T Akutsu" <locrian@...> 2004/04/09

あくつです。なんかわくわくしてきだぞ。(^^;)

[ruby-list:39379] Re: windowsにおけるsystem関数の挙動について

From: "U.Nakamura" <usa@...>
Date: 2004-03-17 02:37:13 UTC
List: ruby-list #39379
こんにちは、なかむら(う)です。

In message "[ruby-list:39378] windowsにおけるsystem関数の挙動について"
    on Mar.17,2004 10:18:13, <IH000667@mb.taiyokogyo.co.jp> wrote:
|  1.なぜhode.batと指定しなければ起動しないのか

バグと言っていいと思います。


|   2.リファレンスマニュアルにある
|    「shell のメタ文字 (* ? {} [] <> () ~ & | \ $ ; ' ` " \n)を含む場
| 合、
|    shell 経由で実行されます」
|    とあるのはcmd.exeを利用する場合も同じメタ文字かどうか

1.8.1の場合、< > | だけがメタ文字と解釈されます。
ただし、コマンドがシェルの内部コマンドの場合は無条件にシェル
経由で実行されます。


|  3.常にシェル経由で実行する場合の標準的な方法
|    (この例の場合*などのメタ文字を含まない状況を想定)

ありません。
が、要するにシェルを起動すればいいわけなので、
 system("#{ENV['COMSPEC']} /c hoge")
で目的は達成されるかと思います。
さしあたってはこれで問題は回避できると思います。



おまけ。

1.8.1 (hoge.batがカレントディレクトリにある場合)
system('hoge')          # => NG
system('hoge.bat')      # => OK
system('hoge *')        # => NG
system('hoge.bat *')    # => OK
system('hoge', '*')     # => NG
system('hoge.bat', '*') # => NG

1.8.1 (hoge.batがPATHの通ったディレクトリにある場合)
system('hoge')          # => NG
system('hoge.bat')      # => OK
system('hoge *')        # => NG
system('hoge.bat *')    # => OK
system('hoge', '*')     # => OK
system('hoge.bat', '*') # => OK

CVS HEAD (hoge.batがカレントディレクトリにある場合)
system('hoge')          # => NG
system('hoge.bat')      # => OK
system('hoge *')        # => NG
system('hoge.bat *')    # => OK
system('hoge', '*')     # => NG
system('hoge.bat', '*') # => OK

CVS HEAD (hoge.batがPATHの通ったディレクトリにある場合)
system('hoge')          # => OK
system('hoge.bat')      # => OK
system('hoge *')        # => OK
system('hoge.bat *')    # => OK
system('hoge', '*')     # => OK
system('hoge.bat', '*') # => OK

perl, v5.8.3 built for MSWin32-x86-multi-thread
(hoge.batがカレントディレクトリにある場合)
system('hoge');         # => OK
system('hoge.bat');     # => OK
system('hoge *');       # => OK
system('hoge.bat *');   # => OK
system('hoge', '*');    # => OK
system('hoge.bat', '*');# => OK

perl, v5.8.3 built for MSWin32-x86-multi-thread
(hoge.batがPATHの通ったディレクトリにある場合)
system('hoge');         # => OK
system('hoge.bat');     # => OK
system('hoge *');       # => OK
system('hoge.bat *');   # => OK
system('hoge', '*');    # => OK
system('hoge.bat', '*');# => OK


ということは、つまり、CVS HEADの挙動+カレントディレクトリも
PATHが通っているとみなす、とすればいいのかな。


それでは。
-- 
U.Nakamura <usa@garbagecollect.jp>



In This Thread

Prev Next