Ce qui se passe, c'est que FreeBSD et Linux utilisent des shells différents par défaut. FreeBSD utilise par défaut tcsh , qui avait de meilleures fonctionnalités interactives que bash dans le passé (mais bash a rattrapé) mais des fonctionnalités de script nettement pires .
La façon la plus simple d'obtenir l'environnement auquel vous êtes habitué serait de passer votre shell en tcsh sous Linux. À condition que tcsh soit installé à l'échelle du système (si ce n'est pas le cas, demandez à votre administrateur système de l'installer), exécutez chsh -s tcsh
pour changer votre shell par défaut.
Alternativement, vous pouvez configurer bash pour avoir cette commande à laquelle vous êtes habitué. Par défaut, les flèches Upet Downnaviguent entre toutes les commandes de l'historique, pas seulement celles qui commencent par le préfixe que vous avez tapé. Pour changer cela au comportement auquel vous êtes habitué, placez les lignes suivantes dans le fichier d'initialisation de bash, qui se trouve .bashrc
dans votre répertoire personnel. Exécutez . ~/.bashrc
ou démarrez un nouveau shell pour relire le fichier d'initialisation.
bind '"\eOA": history-search-backward'
bind '"\e[A": history-search-backward'
bind '"\eOB": history-search-forward'
bind '"\e[B": history-search-forward'
Les séquences d'échappement sont ce que votre terminal envoie au shell lorsque vous appuyez sur une touche fléchée. Uppeut être \eOA
(évasion, O
, A
) ou en \e[A
fonction de votre terminal, et de même pour Down.
Par défaut, bash propose différentes liaisons de touches pour rechercher l'historique des commandes. Vous pouvez appuyer sur Ctrl+ R, puis saisir quelques caractères pour rechercher une commande contenant cette sous-chaîne n'importe où sur la ligne. Appuyez sur Ctrl+ Spour avancer au lieu de reculer. La recherche est incrémentielle (c.-à-d. Que vous tapez); Alt+ Pet Alt+ Nvous donnent une recherche non incrémentielle.
Au lieu de bash et tcsh, vous pouvez passer à zsh, qui a des fonctionnalités intéressantes que l'on ne trouve pas dans d'autres shells . Zsh a Ctrl+ Ret
Ctrl+ Spar défaut, tout comme bash. Pour obtenir Upet Downcomme vous l'avez fait dans tcsh, mettez les lignes suivantes ~/.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
Si vous souhaitez utiliser le même shell partout, vous pouvez également utiliser bash ou zsh sur FreeBSD, à condition que le port soit installé (encore une fois, demandez à votre administrateur système).