nazwa_funkcji () {polecenie1; polecenie2; }
Aliasy Lika, funkcje powłoki Bash można definiować w pliku „.bashrc”, ale często lepiej jest umieścić je w ich własnych plikach definicji. Nazwiemy go „.bash_functions”, zgodnie z konwencją używaną dla pliku „.bash_aliases”.
Oznacza to, że musimy poinformować plik „.bashrc”, aby przeczytał nasze definicje. Możemy skopiować i poprawić fragment kodu, który czyta się w pliku „.bash_aliases”. Uruchom gedit i załaduj plik „.bashrc” za pomocą tego polecenia:
gedit .bashrc
gedit .bashrc plik
Musisz dodać podświetloną sekcję pokazaną poniżej.
Możesz zaznaczyć sekcję aliasów i nacisnąć Ctrl + C, a następnie przejść do miejsca, w którym chcesz umieścić nową sekcję i nacisnąć Ctrl + V, aby wkleić kopię tekstu. Następnie wszystko, co musisz zrobić, to zmienić dwa miejsca, w których jest napisane „.bash_aliases” na „.bash_functions”.
Dodanie funkcji bash_functions w pliku .bashrc
Możemy zapisać te zmiany i zamknąć gedit.
Teraz mamy zamiar utworzyć i edytować plik „.bash_functions” i umieścić w nim definicję funkcji.
dotknij .bash_functions gedit .bash_functions
Tworzenie i edycja .bash_functions
Spowoduje to otwarcie pustego pliku „.bash_functions” w gedit.
Zamierzamy dodać prostą wywołaną funkcję. up pobierze pojedynczy parametr wiersza poleceń, który jest cyfrą. up wywoła wtedy cd ... tyle razy. Więc jeśli użyłeś polecenia
w górę 2
up wywołałby cd .. dwukrotnie i przesunąłby się o dwa poziomy w górę w drzewie katalogów.
Istnieją różne sposoby definiowania funkcji. Tutaj jest jeden:
function up () {
Funkcja słowa jest opcjonalna. Jeśli jesteś tradycjonalistą, użyj go, jeśli nie przeszkadza ci to wpisywać, zostaw to.
Oto cała nasza funkcja w gedit:
Edycja pliku .bash_functions
function up () {
To oznacza początek naszej definicji funkcji i nadaje jej nazwę „up”.
poziomy = 1 USD
Tworzy to zmienną o nazwie poziomy i ustawia ją na wartość pierwszego parametru. Ten parametr będzie cyfrą podaną przez użytkownika podczas wywoływania funkcji. $ 1 oznacza „pierwszy parametr wiersza poleceń”.
while ['$ level' -gt '0']; zrobić
Następnie wprowadzamy pętlę, która będzie tłumaczona jako „kiedy” wartość ”Z„ poziomy ”Jest dodatnia lub większa od zera, zrób to, co jest zawarte w treści pętli.”
Wewnątrz pętli mamy dwa polecenia. Oni są:
Płyta CD ..
Przejdź na wyższy poziom w drzewie katalogów.
poziomy = $ (($ poziomów - 1))
Ustaw poziomy na nową wartość, która jest o jeden mniejsza od bieżącej wartości.
Następnie wracamy na początek pętli, ponownie porównuje się wartość poziomów i zera. Jeśli „poziomy” są większe od zera, treść pętli jest wykonywana ponownie. Jeśli nie jest dodatnia lub większa od zera, pętla jest zakończona i przechodzimy do instrukcji done, a funkcja jest zakończona.
Zapisać te zmiany i zamknij gedit .
Wczytamy i wykonamy polecenia z „.bashrc”, które powinny wczytać i wykonać polecenia z naszego pliku „.bash_functions”.
. .bashrc
Zadzwoń do ..bashrc
Możemy przetestować tę funkcję, przechodząc do jakiejś lokalizacji w drzewie katalogów i używając polecenia up, aby wrócić do „wyższego” punktu w drzewie katalogów.
cd ./work/backup/ up 2
Funkcjonować
Funkcja działa. Przenieśliśmy się o dwa poziomy katalogu wyżej w drzewie.
Śledzenie typu
Podczas tworzenia zestawu aliasów i biblioteki funkcji może być trudno zapamiętać, czy dane polecenie jest aliasem, czy funkcją. Możesz użyć „ rodzaj' polecenie, aby ci przypomnieć. Fajne jest to, że zobaczysz także definicję.
Użyjmy tekstu na naszym FTC alias i nasza funkcja up.
wpisz ftc wpisz up
Użycie typu
Otrzymujemy bardzo przydatne przypomnienie, jakiego typu polecenia są poszczególne polecenia, wraz z ich definicjami.
Zacznij zbierać
Aliasy i funkcje mogą ogromnie przyspieszyć korzystanie z wiersza poleceń. Mogą skracać sekwencje poleceń i pozwalają na ustawienie opcji, których zawsze używasz ze standardowymi poleceniami. Za każdym razem, gdy zobaczysz fajną, jednowierszową lub przydatną funkcję, możesz ją dostosować i spersonalizować, a następnie dodać do swoich plików „.bash_aliases” lub „.bash_functions”. Szerokie ich stosowanie może sprawić, że czas spędzony w muszli będzie przyjemniejszy i mniej skomplikowany.
Pamiętaj, aby zachować ostrożność przed redefiniowaniem istniejących poleceń za pomocą zachowania, które jest potencjalnie destrukcyjne. Nawet zrobienie czegoś odwrotnego i aliasowanie polecenia do bezpieczniejszego wariantu (na przykład zawsze prośba o potwierdzenie przed usunięciem rekurencyjnym) może powrócić i ugryźć cię za pierwszym razem, gdy jesteś w systemie bez niego, gdy zaczniesz na nim polegać . Aby znaleźć kandydatów, dla których warto utworzyć aliasy, dobrym pomysłem może być przeszukanie historii w poszukiwaniu najczęściej używanych poleceń.
12 minut czytania