在提交 issue 前请检查

我已经搜索了 issues 列表,没有发现于本问题相关内容
修复失败或刷入修补后镜像不能启动,请前往 KernelPatch 提问
我会上传 bureport 文件从 APatch 管理器 - 设置 - 发送日志
我知道如何重新复现这个问题

版本要求
我正在使用最新 CI 版本

描述 bug
我是一个开发者/贡献者,过去在 Neo Backup 中遇到过这个问题,我们曾经修复过,但最近这个问题又出现了。
echo some_command | su 应该以 root 身份执行 some_command,而不是输出命令本身。
例如:echo whoami | su 输出 'whoami',而不是预期的结果 'root'
我知道这个命令可以正常工作:echo whoami | su --no-pty
然而,这个选项并不是所有 su 都知道。
我认为 su 应该在不是 tty 的情况下自动启用 --no-pty
几个应用和桌面程序使用 adb 并将命令管道到 su
我认为这是 su 工作可靠的方式,因为不同的 su 变体在转义/引号处理上差异很大
例如,在一些 su 中你需要使用:su -c 'command arg12 arg2'
而在另一个 su 中你必须使用:su -c command arg12 arg2
将多个命令(例如一个脚本)管道到单个 su 中也更简单、更高效,也允许在后续行中设置变量并使用它们

复现方法
adb shell
echo whoami | su
echo whoami | su --no-pty

预期行为
输出:
root
root

实际行为
输出:
whoami
root

截图
无响应

日志
无响应

设备名称
无关紧要

系统版本
无关紧要

APatch 版本
APatch_11039-45-g60281ce_11084-release-signed.apk -> 60281ce

内核版本
无关紧要

KernelPatch 版本
无关紧要

其他信息
不相关