我正在尝试将文件从 find 命令传递给 adb push,如下所示:
find . -name "test0[4-8]*.py" -exec adb push {} \; /storage/emulated/0/
我收到错误
find: paths must precede expression: /storage/emulated/0/
我怎样才能指定这/storage/emulated/0/
不是一条路径。
答案1
表示命令结束的分号exec
应该位于谓词的末尾exec
:
find . -name "test0[4-8]*.py" -exec adb push {} /storage/emulated/0/ \;
答案2
我假设 /storage/emulated/0/ 是远程设备上的路径?所以它应该构成命令的一部分,你的 \; 位于它之前。
find . -name "test0[4-8]*.py" -exec adb push {} /storage/emulated/0/ \;
如果这仍然给您带来问题,请将每个“/”替换为“/”以转义它们。实际上,从 -exec 到 \; 的所有内容都会发送到子 shell 中,其中 {} 替换为找到的每个文件的路径。