Indholdsfortegnelse
I bash er det også godt at adskille ting, for eksempel de funktioner, der er fælles for alle programmer, de kan opbevares i et enkelt sæt biblioteker, der senere kan bruges af andre programmer.I dette eksempel bygger vi en biblioteksfil, hvor vi vil placere vores funktioner og en anden, der bruger denne fil. Det man skal huske er at bruge de absolutte stier.
Vi skal oprette vores biblioteksfil til dette, vores biblioteksfil, der vil være placeret på et strategisk sted til brug, i / usr / local / bin vil vores fil blive kaldt libreriaBash.sh
Vi åbner eller opretter det med en tekstredigerer som Gedit, eller hvis du er ekspert med en simpel kommandoredigerer som nano eller vi. Inde kan vi følgende kode
#! / bin / bash # Libraries file # Her kan du erklære variabler, hvis du vil. #Vis systemdato og -tidsfunktion nu {lokal tidNu lokal ret timeNow = $ (dato + "% d /% m /% Y% H:% M:% S.% s") ret = $? ekko $ timeNow} #Sluk computeren ved x -funktionens nedlukning {echo "Nedlukningstid (min):" læsetid sudo nedlukning -h $ tid} #Afinstaller et program, det sendes efter parameter og kræver root -brugerfunktion for at afinstallere {sudo apt-get remove $ application} #if scrot er installeret, vi kan tage screenshots funktion screenshots {scrot -e 'mv $ f ~ / Images / scrot / `date +% d-% m-% y_% H:% M:% S`_capture.png.webp '}
Vi erklærer variablerne lokale for funktionen, hvis vi ikke gør dette, vil de variabler, der matcher navnet, blive påvirket af funktionen og omvendt.
Når vi har lavet vores biblioteksfil og uden at glemme, at den skal have eksekveringsattributter, opretter vi vores program, der vil bruge det bibliotek.
Lad os nu se indholdet af vores test2.sh -fil
#!/bin/bash #fil test2.sh #omfatter bibliotekerne ./usr/local/bin/libreriaBash.sh mytime = $ (nu) ekko "eksempel på biblioteksfunktionsoutput: $ mytime" echo "eksempel to på biblioteksfunktion output: $ (nu) "
Vi observerer også, at funktioner kan bruges uden at blive overført til en variabel.
Husk, at der er meget lille forskel mellem at kalde en bash for at inkludere den i vores program og udføre en bash inden for en anden bash.
#! /bin /bash #test2.sh -fil #inkluder bibliotekerne /usr/local/bin/libreriaBash.sh
Det, vi siger, er at køre filen
nu kan vi køre filen ./test2.sh
Så vi kan oprette andre scriptfiler og tilføje funktionaliteter til de tidligere oprettede biblioteker, for eksempel kan vi påkalde funktionen til at fange skærme, som vi allerede har i bibliotekerne fra et nyt script images.sh
#!/bin/bash #.sh -fil #inkluderer bibliotekerne ./usr/local/bin/libreriaBash.sh fanger
Mulighederne er mange, da et andet eksempel på et bash -script inkluderer en multiple download, men at sende en tekstfil som en parameter
#! / bin / bash ## ring til wget og download det, vi angiver med den hastighed, vi siger ##, og i mappen vil vi have klart ekko "Du kan indtaste en tekstfil" echo "med adresserne som denne: '-i-fil .txt '"sleep 2 echo -n" Indtast Download -adressen: "read download sleep 1 echo" Destinationen skal være en eksisterende mappe på din pc "echo -n" Indtast destinationsmappen: "læs destination sleep 1 echo" Speed Er i kb eller mb Ex: 50k 1m "ekko" eller indtast 0 (nul) for ubegrænset "echo -n" Indtast downloadhastighed: "læsehastighed sleep 1 wget -c --limit -rate = $ speed -P $ destination $ fil download = `basename $ download` time = $ (dato +% H:% M:% S) ekko" Færdig med at downloade $ fil i $ destination ved $ time "] sove 3
Fordelen er, at vi kan have flere biblioteker til at arbejde med filer, mapper, servere, installere eller afinstallere programmer, overvåge ressourcer eller udføre gentagne opgaver uden at skulle indtaste hele koden igen.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt