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 gprzełą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, vii regex(wyrażenie regularne) - standardowy sposób wyszukiwania ( dopasowanie łańcucha ).
Nie, nie możesz zrobić !:sg/Hello/Byeani !:s/Hello/Bye/gtutaj, 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 shpowł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 -lpi patrzeć na bieżące wiązania.