ime_funkcije () {naredba1; naredba2; }
Lički pseudonimi, funkcije Bash ljuske mogu se definirati unutar datoteke .bashrc, ali često je urednije staviti ih u vlastitu datoteku definicija. Nazvat ćemo ga '.bash_functions', prema dogovoru koji se koristi za datoteku '.bash_aliases'.
To znači da datoteci '.bashrc' moramo reći da pročita u našim definicijama. Možemo kopirati i izmijeniti isječak koda koji se čita u datoteci '.bash_aliases'. Pokrenite gedit i učitajte datoteku “.bashrc” ovom naredbom:
gedit .bashrc
gedit .bashrc datoteka
Morate dodati dolje istaknuti odjeljak.
Možete istaknuti odjeljak zamjenskog imena i pritisnuti Ctrl + C, a zatim se pomaknuti do mjesta na kojem želite novi odjeljak i pritisnuti Ctrl + V da biste zalijepili kopiju teksta. Tada sve što trebate je promijeniti dva mjesta na kojima piše '.bash_aliases' u '.bash_functions'.
Dodavanje bash_functions u datoteku .bashrc
Te promjene možemo spremiti i zatvoriti gedit.
Sada ćemo stvoriti i urediti datoteku '.bash_functions' i u nju staviti definiciju funkcije.
dodirnite .bash_functions gedit .bash_functions
Stvaranje i uređivanje .bash_functions
Ovo će otvoriti praznu datoteku '.bash_functions' u geditu.
Dodati ćemo jednostavnu pozvanu funkciju. up će uzeti jedan parametar naredbenog retka, koji je znamenka. up će tada nazvati cd .. toliko puta. Dakle, ako ste koristili naredbu
gore 2
up bi dva puta pozvao cd .. i pomaknuo bi se za dvije razine u stablu direktorija.
Postoje različiti načini definiranja funkcije. Evo jednog:
funkcija gore () {
Riječ funkcija nije obavezna. Ako ste tradicionalist, upotrijebite ga, ako vas ne može mučiti da ga upišete, izostavite.
Evo cijele naše funkcije u geditu:
Uređivanje datoteke .bash_functions
funkcija gore () {
To označava početak naše definicije funkcije i imenuje funkciju.
razine = 1 USD
To stvara varijablu tzv razinama i postavlja ga na vrijednost prvog parametra. Ovaj će parametar biti znamenka koju daje korisnik kada pozove funkciju. $ 1 znači 'prvi parametar naredbenog retka.'
while ['$ nivoa' -gt '0']; čini
Zatim ulazimo u petlju koja će se prevesti kao 'kada' vrijednost 'Od' razinama 'Je pozitivan ili veći od nule, učinite ono što je sadržano u tijelu petlje.'
Unutar tijela petlje imamo dvije naredbe. Oni su:
cd ..
Pomaknite se prema gore na stablu direktorija.
razine = $ (($ razine - 1))
Postavite razine na novu vrijednost, koja je jedna manja od trenutne vrijednosti.
Zatim se vraćamo na vrh petlje, još jednom se uspoređuje vrijednost razina i nule. Ako je 'razina' veća od nule, tijelo petlje se ponovno izvršava. Ako nije pozitivan ili veći od nule, petlja je gotova, i prelazimo do gotovog izraza i funkcija je gotova.
Uštedjeti ove promjene i zatvoriti gedit .
Pročitat ćemo i izvršiti naredbe u '.bashrc' koje bi trebale pročitati i izvršiti naredbe u našoj datoteci '.bash_functions'.
. .bashrc
Nazovite ..bashrc
Funkciju možemo testirati pomicanjem na neko mjesto u stablu direktorija i korištenjem gore za povratak na 'višu' točku u stablu direktorija.
cd ./work/backup/ up 2
Funkcija gore
Funkcija radi. Premješteni smo za dvije razine direktorija više u stablo.
Praćenje vrste s tipom
Dok gradite skup zamjenskih imena i biblioteku funkcija, može postati teško sjetiti se je li određena naredba pseudonim ili funkcija. Možete koristiti ' tip' naredba da vas podsjeti. Ovdje je super stvar što također možete vidjeti definiciju.
Upotrijebimo tip na našem FTC alias i naša funkcija up.
upišite ftc up up
Upotreba tipa
Dobivamo vrlo koristan podsjetnik o tome koja je vrsta naredbe, zajedno s njihovim definicijama.
Počnite sakupljati
Pseudonimi i funkcije mogu vam ubrzati upotrebu naredbenog retka. Mogu skratiti sekvence naredbi i omogućuju vam da uključite opcije koje uvijek koristite sa standardnim naredbama. Svaki put kad vidite izvrsnu jednolinijsku ili korisnu funkciju, možete je prilagoditi i prilagoditi, a zatim dodati u datoteke '.bash_aliases' ili '.bash_functions'. Njihova opsežna upotreba može vam učiniti vrijeme u ljusci ugodnijim i manje složenim.
Ne zaboravite biti oprezni pri redefiniranju postojećih naredbi ponašanjem koje je potencijalno destruktivno. Čak i činjenje suprotnog i stavljanje naredbe na sigurniju varijantu (na primjer, uvijek tražeći potvrdu prije nego što je rekurzivno izbrišete), može se vratiti da vas ugrize kad prvi put budete u sustavu bez nje nakon što se na nju oslonite. . Da biste pronašli kandidate za koje bi moglo biti dobro stvoriti pseudonime, možda bi bilo dobro pretražiti vaše povijesti najčešće korištene naredbe.
12 minuta čitanja