2013-05-02 17 views
11

Próbuję przekazać ścieżkę stylu unix do polecenia adb Androida przy użyciu git bash (msysgit), ale powłoka źle interpretuje moją ścieżkę. Oto, co próbowałem do tej pory:Jak przekazać bezwzględną ścieżkę do polecenia adb przez okno git dla systemu Windows?

$ 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 

Jaki jest prawidłowy sposób to zrobić?

+0

Czy próbowałeś tego samego w "cmd" (dos-prompt)? Myślę, że zadziała tam – trans1st0r

+0

@DevJyotiBehera Tak, spróbowałem go z podpowiedziami cmd systemu Windows, i to działa, ale próbowałem dowiedzieć się, dlaczego nie działało z programem msysgit. Chcę zrozumieć, jak działają tutaj ścieżki i cytowanie. –

+0

Czy sprawdziłeś http://stackoverflow.com/q/11519659/1983854? Czy działa także 'ls/mnt/sdcard /'? Aby sprawdzić, czy prawidłowo wykrywa ścieżkę. – fedorqui

Odpowiedz

16

Zgodnie z this answer, powłoka MSYS łamie nazwę pliku zgodnie z these rules. Zgodnie z zasadami maglowania, następujące powinny pracować dla Ciebie:

adb push myfile '//mnt\sdcard\' 

(zastąpi pierwszy ukośnik dwa ukośniki i wszystkich pozostałych ukośniki z backslash)

+1

udało mi się to zrobić ze wszystkimi ukośnikami (/) – Jayen

6

adb push myfile //mnt/sdcard

Linux nie jest wybredna o duplikacie / s

+0

Tak, działa jak urok. –