2

最新の Git Bash (msysgit) をインストールしました。次の内容の test.rb という名前の単純な ruby​​ ファイルを作成するとします。

#!/usr/bin/env ruby

puts `dir`
puts `ls -al`

実行ruby test.rbすると、最初にディレクトリが出力されますが、2番目putsには見つかりません。明らかに、msysgit シェルではなく DOS シェルを生成しています。lsputs

子プロセスが msysgit シェルで実行されるように指定するにはどうすればよいですか?

また、子シェルは、呼び出し元のシェルから環境変数 (特に PATH) を継承する必要があります。

4

1 に答える 1

0

執筆時点での答えは、それは不可能です。msysgit の spawn プロセスは CMD プロセスです。ただし、CMD プロセスで ruby​​ スクリプトを呼び出して、この制限を回避することができます。

于 2013-05-16T07:24:28.617 に答える