#はじめに
非常に不便に感じていた、Dockerコンテナ内で矢印キー(またはCtrl+PとかCtrl+N)が使えない現象。
ようやく解決できたので、解決手順の備忘録残しときます。
ごめんよDocker。僕が悪かった…。
(※ 根本的な解決策ではないと思います。もし原因が分かる方いたらご指摘いただけるとありがたいです。)
#起こっていた現象
$ docker-compose exec #{container} sh
でコンテナ内に入ると、
↑矢印キーが^[[A
、↓矢印キーが^[[B
などと判断され、ショートカットできない。
#{container}
はサービス名(コンテナ名)。
Docker学習開始時からこの現象に悩まされ、渋々コンテナ外部からrailsコマンド等の操作をしていました…。
#解決方法
$ docker-compose exec #{container} /bin/bash
とすることで解決。
なぜsh
ではダメで、/bin/bash
だといけるのかはよく分からないんですが、
こちらのサイトをヒントに、ターミナル上で$ echo $SHELL
を打ったところ、
$ echo $SHELL
/bin/bash
と表示されたので、/bin/bash
を試しました。
何となくですが、bash
とsh
それぞれのシェルスクリプトの働きの違いによるものなのかな…と感じています。
もう少し調べてみる必要がありますね(汗)