2016-09-17 3 views
0

私はいくつかの文字列を解析し、それをWindows 10のbashに渡すという単純なプログラムを書こうとしています。だから私は(私はbashのためのいくつかの引数を含める実際のプログラムでは、それは彼らの有無にかかわらず同じ動作) CプログラムからWindows 10のbashを呼び出す

system("bash"); 

を試みるプログラムが起動したときに

は、私はこのエラーを取得する:

'bash' is not recognized as an internal or external command, operable program or batch file. 

このエラーは、しばしばパス変数が設定されていないことが原因であることが判明しましたが、チェックしてもうまくいくと思われ、問題なくコマンドラインからbashを起動できます。私はデスクトップ用のVisual Studio Expressを使用しています。

更新:をcmdから呼び出すと、4135の結果が得られますが、system("dir C:\\Windows\\System32");のコードを実行すると2839になります。プログラムが見ることができないbashだけではありません。それはなぜそうですか?なぜこれらのファイルが見えないのですか?

+0

Windowsのcmdシェルで最初に 'bash'が使用できることを確認してください。 – chenchuk

+0

@chenchuk opは既に彼が問題なくコマンドラインからbashを起動できると述べています。 – XZ6H

+0

@kobo: "bash"だけでなく、Windowsの全パス "C:\ ..."をbash.exeに試してみましたか?あるいは、CMDシェルで%PATH%変数を確認または設定してから、同じCMDシェルからCプログラムバイナリを開始できますか? – Olli

答えて

0

最後に、問題のファイルシステムリダイレクタが問題を引き起こしていたことが判明しました。 C:\Windows\Sysnative\bashパスを使用すると機能します。 助けようとしたすべての人に感謝します。

関連する問題