Quello che sta succedendo è che FreeBSD e Linux usano diverse shell di default. Per impostazione predefinita FreeBSD è tcsh , che in passato aveva funzioni interattive migliori di bash (ma bash ha recuperato) ma funzionalità di scripting notevolmente peggiori .
Il modo più semplice per ottenere l'ambiente a cui sei abituato sarebbe passare la shell a tcsh su Linux. A condizione che tcsh sia installato a livello di sistema (in caso contrario, chiedi all'amministratore di sistema di installarlo), esegui chsh -s tcsh
per modificare la shell predefinita.
In alternativa, puoi impostare bash per avere questo comando a cui sei abituato. Per impostazione predefinita, le frecce Upe Downnavigano tra tutti i comandi nella cronologia, non solo quelli che iniziano con il prefisso che hai digitato. Per cambiarlo nel comportamento a cui sei abituato, inserisci le seguenti righe nel file di inizializzazione di bash, che si trova .bashrc
nella tua home directory. Eseguire . ~/.bashrc
o avviare una nuova shell per rileggere il file di inizializzazione.
bind '"\eOA": history-search-backward'
bind '"\e[A": history-search-backward'
bind '"\eOB": history-search-forward'
bind '"\e[B": history-search-forward'
Le sequenze di escape sono ciò che il terminale invia alla shell quando si preme un tasto freccia. Uppuò essere \eOA
(fuga, O
, A
) oppure \e[A
a seconda del terminale, e allo stesso modo per Down.
Per impostazione predefinita, bash offre diverse combinazioni di tasti per la ricerca nella cronologia dei comandi. Puoi premere Ctrl+ R, quindi inserire alcuni caratteri per cercare un comando contenente questa sottostringa in qualsiasi punto della linea. Premi Ctrl+ Sper andare avanti anziché indietro. La ricerca è incrementale (es. Mentre si digita); Alt+ Pe Alt+ Nti danno una ricerca non incrementale.
Invece di bash e tcsh, potresti passare a zsh, che ha alcune caratteristiche pulite che non si trovano in altre shell . Zsh ha Ctrl+ Re
Ctrl+ Sdi default proprio come bash. Per ottenere Upe Downcome hai avuto in tcsh, inserisci le seguenti righe ~/.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
Se vuoi usare la stessa shell ovunque, puoi usare bash o zsh anche su FreeBSD, a condizione che la porta sia installata (di nuovo, chiedi al tuo amministratore di sistema).