gpt4 book ai didi

Android shell EOF

转载 作者:IT王子 更新时间:2023-10-29 01:06:10 24 4
gpt4 key购买 nike

我为 Android 制作的脚本有一个小问题。我无法让“EOF”在“mksh”中工作。它在 'sh' 和 'bash' 中运行良好,但由于 'mksh' 正在成为 Android 中最常用的,我真的需要它在所有方面都能正常工作。

cat <<EOF
... lines here ...
EOF

这个例子会导致休闲错误

can't create temporary file /sqlite_stmt_journals/mksh.(random): No such file or directory

我看到其他人遇到过这个问题,但没有真正的解决方案。

最佳答案

问题来自于/sqlite_stmt_journals 曾经存在并且是一个世界可写的粘性目录,就像/tmp 在普通的 Unix boxen 中一样,所以当我将 mksh 添加到安卓。

最近的 Android 安全政策完全禁止世界可写的目录。

我们(Android 团队和我)已经意识到这个问题,但还没有想出一个好的解决方案; “用户”主目录需要先创建,然后才能(自动)使用,但一位 Google 员工告诉我他们有一些东西在排队。

在那之前,将 TMPDIR 设置为您的用户可写的内容。

这是 Android 环境的问题,而不是 mksh 本身的问题。

@Julian Fondren:你的 Android 设备可能是那个目录还存在的时候。

在 AOSP git master 中,默认的 TMPDIR 是/data/local ,它至少对 root 用户是可写的……所以,现在只需将它设置为您可写的内容(如果您正在运行脚本,则将其导出)。

关于Android shell EOF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15283220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com