エラーメッセージ

stty: 標準入力: デバイスに対する不適切なioctlです

英語だと

Inappropriate ioctl for device

が発生した時の解決方法をメモ(私のケース)

発生した状況

dockerコンテナ内で ssh hoge@localhost ls -l した際に発生した。

解決方法

私の場合、ログインしていたコンテナイメージでは、backspaceキーが効かなかったため、
bashrcに下記設定を行なっていた。

stty erase ^?

これが悪さをしていたようで、下記のように書き換えた。

 [[ $- == *i* ]] && stty erase '^?'

そしたらエラー解消した。

エラーが発生した原因・うまくいった理由

調査中。 試行錯誤の上たまたまエラー解消したが、理由は良くわかっていない。

キーワードは下記

  • ioctl
    ** input/output control:標準入出力を司るもの
  • tty

時間のあるときに調査して記事修正する。

参考

Getting stty: standard input: Inappropriate ioctl for device when using scp through an ssh tunnel

https://stackoverflow.com/questions/24623021/getting-stty-standard-input-inappropriate-ioctl-for-device-when-using-scp-thro?rq=1