Zasadniczo ma zastosowanie w szarpaniu poprzednich argumentów (komend) .
Na przykład, jeśli wydane zostanie następujące polecenie:
echo Hello, world how are you today?
Następnie Hello,
będzie pierwszy argument, a today?
ten szósty , czyli ostatni; co oznacza, że można się do niego odwołać, wpisując:
Alt+6 śledzony przez Ctrl-Alt-6
Ctrljest tradycyjnie oznaczany jako znak kapelusza ^
poprzedzony nazwami klawiszy, i Altponieważ M-
jest to przedrostek M eta .
Tak więc powyższy skrót można zdefiniować na nowo ^My
.
Ponadto w wierszu poleceń znajduje się skrót do zastępowania kapeluszy :
echo Hello, world!
^Hello^Bye
Bye, world!
podstawić pierwszy dopasowany ciąg poprzedniego polecenia , co oznacza:
Hello, world! Hello, people!
^Hello^Bye
spowodowałoby:
Bye, world! Hello, people!
pozostawiając drugi match ( hello
) bez zmian.
Uwaga: nie zostawiaj miejsca między czapkami , bo operacja nie zadziała.
Powyższe to tylko skrót do:
!:s/Hello/Bye
podstawienie na poziomie zdarzenia (*) dla pierwszego znalezionego (dopasowanego) ciągu w poprzednim poleceniu, podczas gdy prefiksowanie pierwszej części g
przełącznikiem będzie miało zastosowanie do całej linii g lokalnie :
echo Hello, world! Hello, people!
!:gs/Hello/Bye
Bye, world! Bye, people!
jak zwykle dzieje się to w innych pokrewnych poleceniach, takich jak sed
, vi
i regex
(wyrażenie regularne) - standardowy sposób wyszukiwania ( dopasowanie łańcucha ).
Nie, nie możesz zrobić !:sg/Hello/Bye
ani !:s/Hello/Bye/g
tutaj, taka jest składnia !
- ! jest na imprezy; zdarzenie może być rozumiane jako wynik polecenia lub operacja wykonana w historii poleceń.
Właśnie to zrozumiałem, używając go sam i próbując samodzielnie z tego, co czytam z różnych źródeł, w tym stron podręczników, blogów i forów.
Mam nadzieję, że rzuci nieco światła na tajemnicze sposoby bash
, powłoki Bourne-Again (gra na sh
powłoce, która sama nazywa się powłoką Bourne'a po nazwisku wynalazcy), która jest domyślną powłoką w wielu dystrybucjach, w tym serwerach ( systemach operacyjnych serwera ).
bind -lp
i patrzeć na bieżące wiązania.