Fondamentalmente ha un uso nel strappare argomenti precedenti (di comando) .
Ad esempio, se viene emesso il seguente comando:
echo Hello, world how are you today?
poi, Hello,
sarà il primo argomento, e today?
il sesto , che è l'ultimo; nel senso che può essere referenziato digitando:
Alt+6 seguito da Ctrl-Alt-6
Ctrlè tradizionalmente indicato come un carattere cappello ^
anteposto ai nomi delle chiavi, e Altpoiché M-
questo è il prefisso M eta .
Quindi la scorciatoia sopra può essere ridefinita per quanto ^My
riguarda lo strappo.
Inoltre, nella riga di comando è presente un collegamento per la sostituzione di cappelli :
echo Hello, world!
^Hello^Bye
Bye, world!
per sostituire la prima stringa corrispondente del comando precedente , ovvero:
Hello, world! Hello, people!
^Hello^Bye
comporterebbe:
Bye, world! Hello, people!
lasciando hello
invariata la seconda partita ( ).
Nota: non lasciare spazio tra i cappelli , altrimenti l'operazione non funzionerà.
Quanto sopra è solo una scorciatoia per:
!:s/Hello/Bye
la sostituzione a livello di evento (*) per la prima stringa trovata (abbinata) nel comando precedente, mentre il prefisso della prima parte con l' g
interruttore si applica all'intera riga g lobalmente :
echo Hello, world! Hello, people!
!:gs/Hello/Bye
Bye, world! Bye, people!
come di solito viene fatto in altri comandi correlati come sed
, vi
e in regex
(espressione regolare) - un modo standard per la ricerca ( stringa di corrispondenza ).
No, non puoi farlo !:sg/Hello/Bye
o !:s/Hello/Bye/g
qui, questa è la sintassi !
- ! è per eventi; L'evento potrebbe essere inteso come output del comando o operazione eseguita nella cronologia dei comandi.
Questo è quello che ho capito usandolo da solo e provando le cose da solo da ciò che ho letto da varie fonti tra cui pagine di manuale, blog e forum.
Spero che faccia luce su modi misteriosi di bash
, la shell Bourne-Again (un gioco sulla sh
shell, che a sua volta si chiama Bourne shell dopo il cognome del suo inventore), qual è la shell predefinita in molte distribuzioni tra cui server ( server OS ).
bind -lp
e guardare le associazioni correnti.