Was passiert ist, dass FreeBSD und Linux standardmäßig unterschiedliche Shells verwenden. FreeBSD verwendet standardmäßig tcsh , das in der Vergangenheit bessere interaktive Funktionen als bash hatte (aber bash hat aufgeholt), aber deutlich schlechtere Skriptfunktionen .
Der einfachste Weg, die gewohnte Umgebung zu finden, besteht darin, die Shell unter Linux auf tcsh umzustellen. Vorausgesetzt, dass tcsh systemweit installiert ist (falls dies nicht der Fall ist, bitten Sie Ihren Systemadministrator, es zu installieren), führen chsh -s tcsh
Sie den Befehl aus, um Ihre Standard-Shell zu ändern.
Alternativ können Sie bash so einrichten, dass Sie diesen Befehl gewohnt sind. Standardmäßig ist die Upund Downnavigieren Pfeile unter allen Befehlen in der Geschichte, nicht nur diejenigen , die mit dem Präfix beginnen Sie eingegeben haben. Um dies in das gewohnte Verhalten zu ändern, fügen Sie die folgenden Zeilen in die Initialisierungsdatei von bash ein, die sich .bashrc
in Ihrem Home-Verzeichnis befindet. Führen Sie . ~/.bashrc
eine neue Shell aus oder starten Sie sie, um die Initialisierungsdatei erneut zu lesen.
bind '"\eOA": history-search-backward'
bind '"\e[A": history-search-backward'
bind '"\eOB": history-search-forward'
bind '"\e[B": history-search-forward'
Die Escape-Sequenzen werden von Ihrem Terminal an die Shell gesendet, wenn Sie eine Pfeiltaste drücken. Upkann \eOA
(Flucht, O
, A
) oder \e[A
je nach Endgerät und in ähnlicher Weise für Down.
Standardmäßig bietet bash verschiedene Tastenkombinationen zum Durchsuchen des Befehlsverlaufs. Sie können Ctrl+ drücken Rund dann einige Zeichen eingeben, um irgendwo in der Zeile nach einem Befehl zu suchen, der diese Teilzeichenfolge enthält. Drücken Sie Ctrl+ S, um vorwärts statt rückwärts zu gehen. Die Suche erfolgt inkrementell (dh während der Eingabe). Alt+ Pund Alt+ Ngeben Ihnen eine nicht inkrementelle Suche.
Anstelle von bash und tcsh können Sie auch zu zsh wechseln, das einige nette Funktionen bietet, die in anderen Shells nicht zu finden sind . Zsh hat standardmäßig Ctrl+ Rund
Ctrl+ Sgenau wie bash. Um zu erhalten Upund Downwie Sie es in tcsh getan haben, geben Sie die folgenden Zeilen ein ~/.zshrc
:
bindkey '\eOA' history-beginning-search-backward
bindkey '\e[A' history-beginning-search-backward
bindkey '\eOB' history-beginning-search-forward
bindkey '\e[B' history-beginning-search-forward
Wenn Sie überall dieselbe Shell verwenden möchten, können Sie bash oder zsh auch unter FreeBSD verwenden, sofern der Port installiert ist (fragen Sie erneut Ihren Systemadministrator).