A maioria dos tutoriais que você pode encontrar são sobre o bash. Ksh é muito bom em scripts, mas é ruim em uso interativo. Use zsh (best) ou bash (second-best) como uma linha de comando, se puder.
Existem duas implementações principais do ksh hoje: o shell Ksh real ksh93, e o clone mksh (derivado do pdksh longo e não-mantido). Eles têm diferentes recursos de ligação de chaves.
No ksh93, as teclas Acima e Abaixo não se movem no histórico da linha de comando por padrão. As teclas padrão são Ctrl + P e Ctrl + N . Você pode alterar as combinações de teclas por meio do KEYBD trap; é um pouco desajeitado, pois você só pode traduzir chaves para outras chaves e todas as ligações devem ser definidas no mesmo lugar. Aqui está como fazer Up e Abaixo navegar pelo histórico (este código vai para ~/.kshrc ):
set -o emacs
function KEYBD_trap {
case ${.sh.edchar} in
$'\e'[[O]A) .sh.edchar=$'\e>';;
$'\e'[[O]B) .sh.edchar=$'\e<';;
esac
}
trap KEYBD_trap KEYBD
\e[A e \eOA , em que \e representa o caractere de escape ASCII , são os duas seqüências de escape que o terminal pode enviar quando o usuário pressiona a tecla Up (depende do terminal e de seu modo atual). Da mesma forma \e[A e \eOA é para Down . $'\e é uma notação que você pode usar em ksh para o caractere de escape; o padrão [[O] corresponde a [ ou O .
No mksh, você define as associações de teclas por meio do bind builtin. Up e Down navegam o histórico por padrão (além de kbd > Ctrl + P e Ctrl + N ). O código a seguir (a ser colocado em ~/.mkshrc ) desativa as teclas de seta:
bind '^[OA'=
bind '^[[A'=
bind '^[OB'=
bind '^[[B'=
^[ é uma notação que você pode usar nas ligações de chave do mskh para o caractere de escape.
Todas essas informações estão na página man do shell, não necessariamente em uma forma compreensível se você já não estiver familiarizado com shells do Unix.