it-swarm.it

Completamento della riga di comando dalla cronologia dei comandi

Quindi, ho visto la storia e Ctrl+R, ma non sono quello che pensavo di sapere. C'è un modo in cui posso digitare l'inizio di un comando e scorrere le partite nella mia storia con qualche scorciatoia bash?

# mysq(some shortcut key)

Mi da:

# mysqldump  --add-drop-table -e -q -n -C -u 
(some shortcut key)
#  mysql -u ben.dauphinee -p
89
Ben Dauphinee

Urgente Ctrl+R aprirà la ricerca cronologia inversa. Ora inizia a digitare il tuo comando, questo darà la prima corrispondenza. Premendo Ctrl+R di nuovo (e di nuovo) è possibile scorrere la cronologia.

mysq(Ctrl+R)

Darebbe:

mysqldump  --add-drop-table -e -q -n -C -u 

Ctrl+R ancora:

mysql -u ben.dauphinee -p
93
wag

Per espandere ciò che ha detto Gilles, ho il seguente nel mio .inputrc per associare il tasto freccia su/giù a history-search-backward e history-search-forward:

# Key bindings, up/down arrow searches through history
"\e[A": history-search-backward
"\e[B": history-search-forward
"\eOA": history-search-backward
"\eOB": history-search-forward

Digita semplicemente qualcosa (opzionale), quindi premi il tasto freccia su/giù per cercare nella cronologia i comandi che iniziano con ciò che hai digitato.

Per fare questo in .bashrc piuttosto che .inputrc, Puoi usare:

bind '"\e[A": history-search-backward'
68
raychi

È inoltre possibile premere il pulsante PAGEUP per completare automaticamente un comando. Fondamentalmente cerca il bash_history file.

7
0aslam0

Puoi utilizzare i comandi readline history-search-backward e history-search-forward per navigare tra le righe di comando che iniziano con il prefisso che hai già digitato. Nessuno di questi comandi è associato alle chiavi nella configurazione predefinita.

Zsh (zle) ha comandi simili history-beginning-search-backward e history-beginning-search-forward, inoltre non associato alle chiavi per impostazione predefinita. Ci sono anche history-search-backward e history-search-forward, che utilizza la prima parola del comando corrente come prefisso per la ricerca indipendentemente dalla posizione del cursore.

Se vuoi una buona panoramica di comandi molto simili puoi ottenere un elenco con:

history|grep KEYSTRING

Quindi copia e incolla con il pulsante centrale del mouse.

Rgds - Joe

4
joe_zeroh