shで矢印キーが機能しないのはなぜですか?

shで矢印キーが機能しないのはなぜですか?

最近Ubuntuをインストールしましたが、端末でshを実行すると、矢印キーが機能しなくなり、通話履歴を表示したり、入力している内容を編集したりできません。などの奇妙な文字が表示されます^[[A

ログインシェルはbash正常に動作しますが、一度ログインシェルに切り替えると機能shしません。

この問題をどのように解決できますか?

ベストアンサー1

(ダッシュ)シェルは、/bin/shより効率的で小さなシステム起動を可能にするPOSIX準拠のシンプルなシェルです。これにより、履歴と高度なコマンドライン編集は含まれません。対話型シェルよりも厳しいPOSIXスクリプトに適しています。デフォルトでは、「ログイン」シェルはbashですが、ブートシステムではダッシュを使用するというアイデアです。 Ubuntu 11.04のマニュアルページには、ダッシュに履歴とコマンドライン編集機能がありますが、プログラムにはこれらの機能はありません。デフォルトの実行可能ファイルのサイズを確認してください。

$ ls -l /bin/*ash /bin/sh
-rwxr-xr-x 1 root root 822420 Mar 31 15:26 /bin/bash
-rwxr-xr-x 1 root root  83848 Nov 15  2010 /bin/dash
lrwxrwxrwx 1 root root      4 May 17 21:15 /bin/rbash -> bash
lrwxrwxrwx 1 root root      4 May 17 21:15 /bin/sh -> dash
$ strings /bin/bash | egrep -ci 'fc|hist'
181
$ strings /bin/dash | egrep -ci 'fs|hist'
1

走りに慣れるように努力したり、$SHELL単にbash走ったりしないでくださいsh

おすすめ記事