
Ich habe ein Skript, das die Gerätearchitektur eines Android-Geräts abfragt und diese in einem Pfad verwendet, um eine Datei auf das Gerät zu übertragen.
Der Code sieht ungefähr so aus:
ARCH=$(adb shell getprop ro.product.cpu.abi)
adb push libs/"$ARCH"/binary /data/local/tmp/binary
Der Pfad wird jedoch verstümmelt. Wenn ich den getprop
Befehl an eine Datei weiterleite, sehe ich, dass er eine neue Zeile zurückgibt, was wahrscheinlich die Ursache des Problems ist. Ich hatte den Eindruck, dass die Befehlsersetzung neue Zeilen entfernt, aber so oder so habe ich Folgendes versucht:
ARCH=$(adb shell getprop ro.product.cpu.abi | tr -d '\n')
immer noch ohne Erfolg.
Irgendwelche Ideen/
Antwort1
adb
gibt einen Befehl mit einem DOS-Zeilenende aus. Die Befehlsersetzung entfernt das Zeilenumbruchzeichen, aber nicht den Wagenrücklauf; diesen müssen Sie manuell entfernen.
ARCH=$(adb shell getprop ro.product.cpu.abi)
ARCH=${ARCH%$'\r'}
adb push libs/"$ARCH"/binary /data/local/tmp/binary