进一步阅读

进一步阅读

我有

BusyBox v1.27.1 (2017-08-03 03:14:35 CEST) built-in shell (ash)

在路由器上。我发现一个奇怪的问题:

root@DD-WRT:/# echo -n "Hi" 2>/dev/null
-sh: 2: Invalid argument

似乎我无法重定向 stderr。这是众所周知的事情吗?还是一个错误?除了重定向 stderr 之外还有其他选择吗?

答案1

这是 DD-WRT 的 bug,已于 2019 年 8 月修复。

  • F_DUPFD_CLOEXEC自 2008 年 Linux 2.6.24 起,该函数的参数就可fcntl()用了。
  • 十年后的 2018 年,Busybox 的 Almquist shell 开始使用它,用于制定 shell 重定向的部分内容。
  • 但某些路由器上的 DD-WRT 中提供的 Linux 2.6 是 Linux 2.6。23

解决方案是将对F_DUPFD_CLOEXECDD-WRT 的 Linux 2.6 的支持向后移植。

进一步阅读

相关内容