无法通过adb shell创建日志文件

时间:2018-11-23 10:24:07

标签: android shell adb

我的工作目录是/data/local/tmp

我在此处创建并推送了一个名为get_meminfo.sh的shell脚本文件。

它的核心功能是记录RSS使用情况并保存为日志文件,例如:rss_res >> rss.log

但是现在我发现了一个问题:进入android shell时,我可以运行脚本文件,例如./get_meminfo.sh,并且可以在路径中看到创建的日志文件。

但是,当我尝试从adb运行它时,例如:adb shell /data/local/tmp/get_meminfo.sh,它将收到错误消息:无法创建文件,只读文件系统!

1 个答案:

答案 0 :(得分:0)

您似乎不太了解current working dirtectory的概念。

rss_res >> rss.log命令在当前工作的土壤部门中创建rss.log。在以下命令序列中,该值为/data/local/tmp

adb shell
cd /data/local/tmp
./get_meminfo.sh

因此rss.log是在/data/local/tmp中创建的,可在世界范围内写入。

但是对于adb shell /data/local/tmp/get_meminfo.sh cwd / root 文件夹。这是不可写的,命令会失败。

最简单的缓解方法是在脚本中使用日志文件的绝对路径,例如rss_res >> /data/local/tmp/rss.log