追加読書

追加読書

私は持っています

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のバグで、2019年8月に修正されました。

  • F_DUPFD_CLOEXECこの関数のパラメータは、2008年のLinux 2.6.24以降で利用可能ですfcntl()
  • 10年後の2018年、BusyboxのAlmquistシェルはそれをシェルリダイレクトの定式化の一部として使用し始めました。
  • ただし、一部のルーターのDD-WRTで提供されるLinux 2.6はLinux 2.6です。二十三

解決策は、F_DUPFD_CLOEXECDD-WRTサポートをLinux 2.6にバックポートすることです。

追加読書

おすすめ記事