我在为Android制作的脚本中遇到了一个小问题.我无法接缝让’EOF’在’mksh’中工作.它在’sh’和’bash’中工作得很好,但是因为’mksh’是Android中最常用的,所以我真的需要它才能工作.
cat <
此示例将导致延迟错误
can’t create temporary file /sqlite_stmt_journals/mksh.(random): No such file or directory
我已经看到其他人有这个问题,但没有真正的解决方案.
最佳答案
问题来自于/ sqlite_stmt_journals曾经存在并且是一个世界可写的粘性目录,就像/ tmp在普通的Unix boxen中一样,所以当我将mksh添加到Android时,我将它用作标准的TMPDIR.
最近的Android安全策略完全禁止全球可写目录.
我们(Android团队和我)已经意识到这个问题,但还没有找到一个好的解决方案; “用户”主目录需要在(自动)使用之前创建,但Google员工告诉我他们在队列中有一些东西.
在此之前,将TMPDIR设置为可供用户写入的内容.
这是Android环境的问题,而不是mksh本身.
@Julian Fondren:您的Android设备可能来自该目录仍然存在的时候.
在AOSP git master中,默认的TMPDIR是/ data / local,至少对于root用户是可写的…所以,现在只需将它设置为可写的东西(如果你正在运行脚本,则将其导出).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。