Handig bach-script voor Linux

Inhoudsopgave
In bash is het ook goed om dingen te scheiden, bijvoorbeeld de functies die alle programma's gemeen hebben, ze kunnen in een enkele set bibliotheken worden bewaard om later door andere programma's te worden gebruikt.
In dit voorbeeld bouwen we een bibliotheekbestand waarin we onze functies plaatsen en een ander dat dit bestand gebruikt. Het ding om te onthouden is om de absolute paden te gebruiken.
We gaan hiervoor ons bibliotheekbestand maken, ons bibliotheekbestand dat zich op een strategische plaats voor gebruik zal bevinden, in / usr / local / bin zal ons bestand libreriaBash.sh heten
We openen of maken het met een teksteditor zoals Gedit of als je een expert bent met een eenvoudige opdrachteditor zoals nano of vi. Binnen kunnen we de volgende code:
 #! / bin / bash # Bibliotheken bestand # Hier kun je variabelen declareren als je wilt. #Show system date and time function now {local timeNow local ret timeNow = $ (date + "% d /% m /% Y% H:% M:% S.% s") ret = $? echo $ timeNow} #Shutdown the computer at x time function shutdown {echo "Shutdown time (min):" read time sudo shutdown -h $ time} #Verwijder een toepassing, deze wordt doorgegeven door een parameter en vereist de verwijdering van de root-gebruikersfunctie {sudo apt-get remove $ application} #als scrot is geïnstalleerd, kunnen we screenshots maken functie screenshots {scrot -e 'mv $ f ~ / Images / scrot / `date +% d-% m-% y_% H:% M: % S`_capture.png.webp '}

We declareren de variabelen lokaal voor de functie, als we dit niet doen, worden de variabelen die overeenkomen met de naam beïnvloed door de functie en vice versa.
Zodra we ons bibliotheekbestand hebben voltooid en zonder te vergeten dat het uitvoeringskenmerken moet hebben, zullen we ons programma maken dat die bibliotheek zal gebruiken.
Laten we nu de inhoud van ons test2.sh-bestand bekijken
 #! / bin / bash # bestand test2.sh #include the libraries ./usr/local/bin/libreriaBash.sh mytime = $ (nu) echo "voorbeeld van bibliotheekfunctie-uitvoer: $ mytime" echo "voorbeeld twee van bibliotheekfunctie uitvoer: $ (nu) " 

We zien ook dat functies kunnen worden gebruikt zonder dat ze worden doorgegeven aan een variabele.
Houd er rekening mee dat er weinig verschil is tussen het aanroepen van een bash om het in ons programma op te nemen en het uitvoeren van een bash binnen een andere bash.
 #! / bin / bash # test2.sh bestand #inclusief de bibliotheken /usr/local/bin/libreriaBash.sh 

Wat we zeggen is voer het bestand uit
nu kunnen we het bestand ./test2.sh . uitvoeren
We kunnen dus andere scriptbestanden maken en functionaliteiten toevoegen aan de eerder gemaakte bibliotheken, we kunnen bijvoorbeeld de functie aanroepen om schermen vast te leggen die we al in de bibliotheken hebben vanuit een nieuw script images.sh
 #! / bin / bash # .sh bestand #include the libraries ./usr/local/bin/libreriaBash.sh captures 

De opties zijn talrijk, aangezien een ander voorbeeld van een bash-script een meervoudige download bevat maar een tekstbestand als parameter doorgeeft
 #! / bin / bash ## bel wget en download wat we aangeven met de snelheid die we zeggen ## en in de map die we willen wissen echo "Je kunt een tekstbestand invoeren" echo "met de adressen als volgt: '-i-bestand .txt '"sleep 2 echo -n" Voer het downloadadres in: "read download sleep 1 echo" De bestemming moet een bestaande map op uw pc zijn "echo -n" Voer de bestemmingsmap in: "lees bestemming sleep 1 echo "Snelheid ​​is in kb of mb Ex: 50k 1m" echo "of voer 0 (nul) in voor onbeperkt" echo -n "Voer downloadsnelheid in:" leessnelheid slaap 1 wget -c --limit-rate = $ snelheid -P $ bestemming $ bestand download = `basisnaam $ download` tijd = $ (datum +% H:% M:% S) echo" Het downloaden van $ bestand in $ bestemming op $ uur is voltooid "] slaap 3 

Het voordeel is dat we meerdere bibliotheken kunnen hebben om met bestanden, mappen, servers te werken, programma's te installeren of te verwijderen, bronnen te bewaken of repetitieve taken uit te voeren zonder dat we alle code opnieuw hoeven in te voeren.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven
wave wave wave wave wave