最新の Git Bash (msysgit) をインストールしました。次の内容の test.rb という名前の単純な ruby ファイルを作成するとします。
#!/usr/bin/env ruby
puts `dir`
puts `ls -al`
実行ruby test.rb
すると、最初にディレクトリが出力されますが、2番目puts
には見つかりません。明らかに、msysgit シェルではなく DOS シェルを生成しています。ls
puts
子プロセスが msysgit シェルで実行されるように指定するにはどうすればよいですか?
また、子シェルは、呼び出し元のシェルから環境変数 (特に PATH) を継承する必要があります。