我正在尝试通过adb(这是用于自动脚本)在我的 Android 设备上进行管道操作。
该操作是获取特定目录中最近修改的文件,然后将其删除。
让我们说这个文件是file.txt并且它在/sdcard/Android/data/my.app.packageAndroid 设备上。
当我尝试这样做adb shell ls -t /sdcard/Android/data/my.app.package | head -1 | xargs rm -f时会引发错误:
rm: file.txt: 没有这样的文件或目录
这是因为它需要完整的路径。
所以然后我尝试ls -t /sdcard/Android/data/my.app.package | head -1 | xargs ls -d | xargs rm -f了,但它抱怨同样的错误。
也许我需要将$PWD文件名连同文件一起传递给xargs. 我该怎么做,或者有更好的方法吗?
编辑:我现在已经尝试过ls -t sdcard/Android/data/my.app.package | head -1 | xargs -I '{}' ls sdcard/Android/data/my.app.package/'{}',虽然类似的命令在 Linux 系统上按预期正常工作,但它在 Android 设备上做了奇怪的事情。xargs可能在 Android 堆栈上缺少一些实现。