我在为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.
原文链接:https://www.f2er.com/linux/440369.html最近的Android安全策略完全禁止全球可写目录.
我们(Android团队和我)已经意识到这个问题,但还没有找到一个好的解决方案; “用户”主目录需要在(自动)使用之前创建,但Google员工告诉我他们在队列中有一些东西.
这是Android环境的问题,而不是mksh本身.
@Julian Fondren:您的Android设备可能来自该目录仍然存在的时候.
在AOSP git master中,默认的TMPDIR是/ data / local,至少对于root用户是可写的…所以,现在只需将它设置为可写的东西(如果你正在运行脚本,则将其导出).