jak stworzyć prostą funkcję w konsoli (bash) przekazującą określony argument

W konsoli programy często obsługujemy poprzez notację:

{NAZWA-PROGRAMU} {JAKIŚ-ARGUMENT}

Np. jak ściągamy plik poprzez program wget argumentem jest link do tego pliku:

wget http://serwer/nazwa-pliku.tar.gz

W Linuxie możemy.. sami sobie zrobić taki program / komendę z określonym argumentem. I tak np. możemy w łatwy sposób zrobić komendę robiącą zrzut bazy MySQL do określonego pliku SQL.

W tym przypadku:

{NAZWA-PROGRAMU} to będzie nasza wymyślona nazwa np.  “zrzutsql

natomiast

{JAKIŚ-ARGUMENT} to będzie nazwa pliku .SQL – za każdym razem przez nas ustalana.

Po kolei jak to zrobimy.

Tworzenie i wywołanie prostej funkcji w bash

Otwieramy w edytorze tekstowym plik:


Następnie na jego końcu dopisujemy funkcję:


Oczywiście podstawiamy (zamiast tych napisane CAPSLOCKiem) nasze dane z powyższego kodu, czyli nasze parametry połączenia się z MySQL.

Następnie przeładowywujemy bash aby funkcja zrzutsql była dla nas dostępna:


Gotowe. Możemy teraz używać naszej funkcji, gdzie nam się podoba. Np. przejdźmy do naszego folderu domowego:


i wykonajmy zrzut naszej bazy:

Funkcja z więcej jak jedym argumentem

Możemy nieco skomplikować sprawę i zamiast 1 argumentu – dać ich 2.

Posłużmy się powyższym przykładem. Niech 1 argument będzie tak jak poprzednio – nazwa pliku. Natomiast drugim nazwa bazy danych którą wybieramy do zrobienia jej zrzutu. W tym celu zmodyfukujmy tę funkcję na:


Tak jak poprzednio przeładujmy bash:


I możemy użyć naszej funkcji:


Czyli np.