我已經寫了一個小腳本,從動態鏈接的原生代碼開發的Android設備把所有共享對象文件。該腳本工作正常,我可以停在那裏,但我不喜歡使用臨時文件。我花了一些時間試圖重新寫這個,所以我不需要它,但失敗了各種嘗試。下面是腳本:重寫劇本因此它可以不使用臨時文件
declare -rx OUT_FILE=tmp.sh
adb shell 'cd /system/lib && for f in *.so; do echo -e "adb pull /system/lib/$f ./lib"; done' > $OUT_FILE
dos2unix $OUT_FILE
chmod +x $OUT_FILE
./$OUT_FILE
rm $OUT_FILE
我嘗試使用子外殼的ADB命令和結果賦給然後可能被送入sed將剝離回車的變量。我沒有得到那個工作。下面是一個例子,我怎麼嘗試使用命令替換:
res=$(adb shell 'cd /system/lib && for f in *.so; do echo -e "adb pull /system/lib/$f ./lib"; done')
echo $res > tmp.txt
現在從我有限的知識,我會懷疑從第二溶液tmp.txt文件將包含相同conent在我的工作溶液中的tmp文件。不是這種情況。
最好的問候,
安德烈
你的腳本應該刪除$ OUT_FILE,不是嗎?然後,您可以將名稱從'tmp.sh'更改爲'tmp。$$'或其他任何內容,而無需更改腳本的最後一行。您可能還想調查「陷阱」以確保臨時文件在中斷時被刪除。所有這些都是想要擺脫臨時文件的充分理由! – 2011-02-15 14:33:20
你是對的關於RM,這是一個複製/粘貼錯誤... – 2011-02-15 14:42:30