Frage

Ich bin neu in Unix und bin mit sun solaris (v10 glaub ich).Ich habe meine shell eingestellt wie KornShell (ksh).

Ich Frage mich, wie man die Pfeiltasten und die entf-Taste arbeiten in der Befehlszeile.Ich habe getan, set-o emacs und der backspace funktioniert, aber nicht den Pfeil-Tasten und löschen Tasten.

Auch ist es möglich, die up-und down-Taste, um Zyklus durch die Geschichte der Befehlszeile?

War es hilfreich?

Lösung

Für den Pfeiltasten, können Sie dies in Ihren die .kshrc-Datei in Ihrem home-Verzeichnis:

set -o emacs
alias __A=`echo "\020"`     # up arrow = ^p = back a command
alias __B=`echo "\016"`     # down arrow = ^n = down a command
alias __C=`echo "\006"`     # right arrow = ^f = forward a character
alias __D=`echo "\002"`     # left arrow = ^b = back a character
alias __H=`echo "\001"`     # home = ^a = start of line
alias __Y=`echo "\005"`     # end = ^e = end of line

Beachten Sie, dass es sind zwei Unterstriche vor dem Buchstaben auf der linken Seite des Gleichheitszeichens.Auf der rechten Seite, die gleiche, das Ziel ist es, die richtigen steuerzeichen zugewiesen, an alias.Die Art und Weise dieses Skript tut, ist, indem Sie den Befehl ausführen (über back-tics)

echo "\020"

um die Kontrolle-n-Zeichen zugewiesene __B.

Andere Tipps

Ich habe folgende und funktioniert gut:

set -o emacs

Hinweis: Dies sind die tatsächlichen Steuerzeichen. In vi, i-Typ Ctrl-V dann ctrl-P (wenn u wollen einen ctrl-p)

alias _A=^P
alias _B=^N
alias _D=^B
alias _C=^F

und fügen Sie folgende Zeilen auch:

alias __A=^P
alias __B=^N
alias __D=^B
alias __C=^F

Sie es nicht kämpfen. Haben Sie einfach Ihr Administrator Ihre Standard-Shell ändern einzuschlagen. bash ist mit Solaris 10 enthalten ist, ist sehr KSH kompatibel und unterstützt die Tastenzuordnungen, die Sie mögen. Sie können bash nur durch Eingabe starten:

$ bash

Sie können bash aus Ihrem .profile exec, wenn der Administrator nicht hilfreich ist. Hier ist, was der Administrator user1 ändern tun würde bash (als root):

# passwd -e user1
Old shell: /bin/ksh
New shell: /usr/bin/bash        <- You type this, use whence bash to look up the path
passwd: password information changed for user1

Die Standard-ksh könnte ksh88, die nicht unterstützen die alias - _ _ - Tastatur-Makros.Ksh93 tut.Im Grunde, wenn es nicht funktioniert - Sie sind wahrscheinlich mit ksh88.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top