岩崎と申します。

バッククォート(`)で囲まれた文字列の扱いで不明な点がありますので
教えてください。

== 環境 Windows NT4 SP6
     ruby -v
     ruby 1.8.0 (2003-08-04) [i386-mswin32]

== やりたいこと
    windowsのnet useコマンドを実行する
    cmd.exe上では以下のような使い方をします。
        net use \\foo\common          #接続
        net use \\foo\common  /delete #切断

    fooはサーバ名commonは共有名です。
    サーバ名の前には\\を前置し、共有名との間は\を1つおきます。

== テストコード
system("net use \\\\foo\\common")      
system("net use \\\\foo\\common /delete")  #1 ok

system("net use \\\\foo\\common")      
`net use \\\\foo\\common /delete`          #2 ng

system("net use \\\\foo\\common")      
a="net use \\\\foo\\common /delete"
`#{a}`                                     #3 ok


==質問

 
 「テストコードの2がなぜ失敗するのか」です。

 2と3は基本的に同じと思っているので失敗する理由が
 分かりません。また、1も返り値を除いて2と同じと
 思っているのですが、その辺りの解釈にも間違いが
 あればご指摘ください。

以上宜しくお願いします。