2013-05-02 181 views
11

私はgit bash(msy​​sgit)を使ってAndroid adbコマンドにunixスタイルのパスを渡そうとしていますが、シェルは私のパスを正しく解釈していません。これまで私が試したことです:Windowsのgit bashからadbコマンドに絶対パスを渡すにはどうしたらいいですか?

$ adb push myfile /mnt/sdcard/ 
failed to copy 'myfile' to 'C:/Program Files (x86)/Git/mnt/sdcard/': No such file or directory 

$ adb push myfile "/mnt/sdcard/" 
failed to copy 'myfile' to 'C:/Program Files (x86)/Git/mnt/sdcard/': No such file or directory 

$ adb push myfile '/mnt/sdcard/' 
failed to copy 'myfile' to 'C:/Program Files (x86)/Git/mnt/sdcard/': No such file or directory 

これを行う正しい方法は何ですか?

+0

「cmd」(dos-prompt)で同じことを試しましたか?私はそれがそこで動作すると思う – trans1st0r

+0

@DevJyotiBeheraはい、私はWindowsのcmdプロンプトでそれを試して、それは動作しますが、私はmsysgitで動作していない理由を把握しようとしていた。私はパスとクォートがここでどのように働くかを理解したい。 –

+0

http://stackoverflow.com/q/11519659/1983854をチェックしましたか?また 'ls/mnt/sdcard /'は動作しますか?それが適切にパスを検出するかどうかを確認する。 – fedorqui

答えて

16

this answerによれば、MSYSシェルはthese rulesに従ってファイル名をマングリングしています。マングリングルールによると、次はあなたのために働く必要があります。

adb push myfile '//mnt\sdcard\' 

(バックスラッシュを持つ2つのスラッシュと、残りのすべてのスラッシュと最初のスラッシュを置き換える)

+1

私はすべてのスラッシュ(/)でそれを行うことができました – Jayen

6

adb push myfile //mnt/sdcard

Linuxは好き嫌いではありませんabout duplicate /s

+0

うん、それは魅力のように動作します。 –

関連する問題