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:

gedit ~/.bash_aliases

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

function zrzutsql {

  mysqldump -uUZYTKOWNIK-BAZY -pHASLO-DO-BAZY NAZWA-BAZY-MYSQL > $1;

}

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:

bash

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

cd ~

i wykonajmy zrzut naszej bazy:

zrzutsql aktualny-zrzut-bazy.sql

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:

function zrzutsql {

  mysqldump -uUZYTKOWNIK-BAZY -pHASLO-DO-BAZY $2 > $1;

}

Tak jak poprzednio przeładujmy bash:

bash

I możemy użyć naszej funkcji:

zrzutsql plik-ze-zrzutem.sql {NAZWA-KONKRETNEJ-BAZY}

Czyli np.

zrzutsql plik-ze-zrzutem.sql moja_baza

 

Możesz również polubić…

Inna porada:
Jeżeli mamy dźwięk w programie podgłośniony do maximum i nie…