Wat is een Bash-script?

What Is Bash Script



Heb je je vader ooit horen zeggen dat je een glas water moet pakken? Je hebt de keuze om Nee te zeggen, maar computers hebben die keuze niet. Computers gaan precies doen wat je ze zou vertellen. Bash is slechts een shell waarmee je met de computer kunt communiceren en instructies kunt geven. Een script is in feite slechts een reeks instructies die aan de computer worden gegeven om verschillende zinvolle taken uit te voeren. Een script helpt u bij het automatiseren van verschillende taken, samen met de luxe om sneller resultaten te bereiken dan de normale procedure. Normaal gesproken schrijf je in de terminal een basis- of geavanceerde bash-opdracht en deze wordt er meteen op uitgevoerd. In bash-scripts zou je meerdere instructies of commando's tegelijk kunnen geven en de computer zou ze allemaal alleen uitvoeren als je het script zou uitvoeren. In een notendop, een enkele bash-opdracht kan in de terminal worden uitgevoerd, maar om een ​​combinatie van meerdere opdrachten tegelijk uit te voeren, moet u een bash-script maken.

Waarom is bash nuttig en voor wie is het nuttig?

Als je meer controle over je besturingssysteem wilt en verschillende OS-gerelateerde taken wilt uitvoeren, dan is bash de juiste keuze. Met bash verwijzen we niet alleen naar de scripttaal, maar ook naar de tools die bij het Linux-besturingssysteem worden geleverd. Elke tool op Linux heeft zijn werk en elk voert afzonderlijk een andere taak uit. Bash is echt handig wanneer je al die tools moet combineren en ze op zo'n manier aan elkaar moet koppelen dat ze allemaal in harmonie werken om een ​​taak te volbrengen die anders heel moeilijk is om te doen. Alles wat bijvoorbeeld met het Linux-besturingssysteem te maken heeft, kan ook in andere programmeertalen zoals Python of Perl worden gedaan, maar het is erg moeilijk om verschillende OS-gerelateerde taken uit te voeren. Een eenvoudige, zwart-wit en gemakkelijkste manier om iets met Linux OS te doen, is door bash te gebruiken. Voor iedereen die taken wil uitvoeren die de Linux OS-tools bevatten (zoals ls, cd, cat, touch, grep, enz.), is het erg handig voor hem/haar om bash te leren in plaats van een andere programmeertaal.







Hoe verhoudt Bash zich tot andere programmeertalen?

Als we het hebben over bash, dan weten we dat bash geen algemene programmeertaal is, maar een opdrachtregelinterpreter. Bash is erg handig om taken rond verschillende tools en processen uit te voeren met de mogelijkheid om verschillende processen met elkaar te combineren en ze allemaal naar één doel toe te laten werken. Bash is erg handig als het gaat om het omgaan met en manipuleren van de in- en uitgangen, wat heel moeilijk is om te doen in andere algemene programmeertalen zoals python, C, enz. Als het echter gaat om gegevensstructuren en complexe taken zoals als het manipuleren van complexe gegevens, kan bash dergelijke taken niet aan en moeten we uitkijken naar programmeertalen zoals Python, Perl, C, enz. In programmeertalen kun je software of een tool bouwen, maar je kunt geen van beide in bash bouwen. U kunt bash echter gebruiken om de tools uit te voeren of deze tools samenvoegen om efficiënt te werken. Het is als het bouwen van een raket, als we deze metafoor beschouwen, zullen programmeertalen je helpen de raket te bouwen, terwijl bash je zal helpen de raket te besturen en je te helpen zijn richting te bepalen en je te helpen hem op de maan of mars te landen.



Hoe Bash-scripts maken en uitvoeren?

Om een ​​bash-script te maken, moet u eerst een tekstbestand maken met de extensie .sh aan het einde van de bestandsnaam. U kunt het bash-scriptbestand maken met behulp van de terminal.



$aanrakenscript.sh


Nadat je de bovenstaande opdracht hebt getypt, druk je op de enter-toets en heb je een bash-scriptbestand gemaakt in je huidige werkmap. Maar dat is het niet, we hebben het scriptbestand gemaakt, maar we moeten bepaalde acties uitvoeren om het script te voltooien en uit te voeren. Open eerst het scriptbestand in een nano-editor of gedit en typ op de allereerste regel:





#!/bin/bash


Dit is een standaard eerste regel voor elk bash-scriptbestand, waardoor het wordt herkend als een bash-script. Elk script dat geen #!/bin/bash in de eerste regel heeft, wordt niet beschouwd als een bash-script, dus zorg ervoor dat u deze regel bovenaan elk script toevoegt. Zodra u deze regel hebt toegevoegd, kunt u nu in het script gaan schrijven. Ik zou hier bijvoorbeeld een eenvoudig echo-commando schrijven:

$gooide uitDit is LinuxHint, het beste leerplatformvoorbash


Nadat u deze opdracht hebt geschreven, kunt u deze nu opslaan en teruggaan naar uw terminal. Schrijf in uw terminal:



$ls -naar de


U kunt 'script.sh' in witte kleur zien, wat een teken is dat het script een niet-uitvoerbaar bestand is, aangezien uitvoerbare bestanden meestal in groene kleur zijn. Kijk verder aan de linkerkant waar we een patroon als -rw-r–r– kunnen zien, wat aangeeft dat het bestand alleen leesbaar en beschrijfbaar is.
Het eerste deel dat 'rw' bevat, zijn de machtigingen voor de eigenaar, waarschijnlijk de huidige gebruiker.

2e deel met 'r' is de toestemming voor de groep waarin we meerdere gebruikers hebben.

Terwijl het 3e deel met 'r' toestemming voor het publiek is, wat betekent dat iedereen deze rechten voor het genoemde bestand kan hebben.

'r' staat voor leesrechten, 'w' staat voor schrijfrechten, 'x' staat voor uitvoerbare machtigingen. Het is duidelijk dat we x niet zien tegen 'script.sh'. Om uitvoerbare machtigingen toe te voegen, zijn er twee manieren om dit te doen.

Methode 1

In deze methode zou je een eenvoudig chmod-commando kunnen schrijven met '+x' en het zou de uitvoerbare machtigingen toevoegen.

$chmod+ x script.sh


Dit is echter niet de meest efficiënte manier om uitvoerbare machtigingen te geven, omdat het niet alleen uitvoerbare machtigingen geeft aan de eigenaar, maar ook aan de groep en het publiek, wat we om veiligheidsredenen zeker niet willen. Kijk eens:

Methode 2

Bij deze methode kunt u cijfers gebruiken om de machtigingen van een bestand te dicteren. Voordat we daarop ingaan, wil ik u een kort idee geven van wat die cijfers betekenen en hoe u ze kunt gebruiken om machtigingen te manipuleren.
lezen = 4
schrijven = 2
uitvoeren = 1
Permissienummers zouden in drie cijfers staan ​​na het chmod-commando en elk cijfer vertegenwoordigt de machtigingen van de eigenaar, groep en anderen (openbaar). Als u bijvoorbeeld lees-, schrijf- en uitvoeringsmachtigingen aan de eigenaar geeft en leesmachtigingen aan de groep en anderen, zou dit ongeveer zo zijn:

$chmod 744script.sh


Als je het zou kunnen opmerken, zou je tot het besef komen dat we lees-, schrijf- en uitvoernummers hebben toegevoegd voor de eigenaar in het eerste cijfer als 4+2+1=7, en voor de groep en anderen gebruiken we het cijfer van lezen dwz 4.

Een Bash-script uitvoeren

Nu hebben we eindelijk een punt bereikt waarop we het bash-script kunnen uitvoeren. Om uw bash-script uit te voeren, moet u ervoor zorgen dat u zich in de huidige werkdirectory bevindt waar uw script zich bevindt. Het is niet verplicht, maar op die manier is het gemakkelijk omdat je niet het hele pad hoeft te schrijven. Als je het eenmaal hebt gedaan, ga je gang en schrijf je in je terminal ./nameofscript.sh. In ons geval is de naam van het script 'script.sh', dus we zouden schrijven:

$./script.sh

3 eenvoudige voorbeelden van bash-script

Hallo LinuxHint
Allereerst zouden we een bash-bestand maken in de huidige werkmap:

$nanoF_script.sh


In het bestand moet je het volgende schrijven:

#!/bin/bash
gooide uit 'Hallo LinuxHint'


Als je het eenmaal hebt geschreven, probeer dan nu op Ctrl + O te drukken om bestandswijzigingen te schrijven. Als je de naam dezelfde wilt houden, druk dan op enter, bewerk anders de naam en druk vervolgens op enter. Druk nu op Ctrl+X om de nano-editor af te sluiten. Nu zou je een bestand met de naam F_script.sh in je huidige map zien.
Om dit bestand uit te voeren, kunt u de machtigingen wijzigen om het uitvoerbaar te maken of u kunt schrijven:

$bashF_script.sh


Echo Commando
Als we het hebben over het echo-commando, wordt het eenvoudigweg gebruikt om vrijwel alles af te drukken wat u wilt afdrukken, zolang het maar tussen de aanhalingstekens staat. Normaal gesproken laat het een regel achter als u een echo-opdracht uitvoert zonder enige vlag en wordt de uitvoer afgedrukt. Als we bijvoorbeeld een script hebben:

#!/bin/bash
gooide uit 'Afdrukken op de volgende regel'

Nadat het is opgeslagen, als we het uitvoeren:

$bashF_script.sh


Als we de vlag '-n' met echo gebruiken, wordt deze op dezelfde regel afgedrukt.

#!/bin/bash
gooide uit -N 'Afdrukken op dezelfde regel'

Nadat het is opgeslagen, als we het uitvoeren:

$bashF_script.sh


Evenzo, als we ' ' of ' ' tussen de dubbele aanhalingstekens gebruiken, zou het worden afgedrukt zoals het is.

#!/bin/bash
gooide uit 'NAfdrukken op dezelfde regelN'


Als we echter de vlag '-e' gebruiken, gaat het niet alleen allemaal weg, maar worden ook de en toegepast en kun je de wijzigingen in de onderstaande uitvoer zien:

#!/bin/bash
gooide uit -En 'NAfdrukken op dezelfde regelN'


Opmerkingen in BASH
Een opmerking is een regel die er voor de computer niet toe doet. Wat je ook schrijft als commentaar wordt teniet gedaan of genegeerd door de computer en heeft geen enkele invloed op de geschreven code. Opmerkingen worden meestal beschouwd als een meer nuttige manier voor een programmeur om de logica van code te begrijpen, zodat wanneer hij teruggaat om de stukjes code te herwerken, die opmerkingen hem kunnen herinneren aan de logica en redenen waarom hij code in een specifieke code heeft geschreven. manier. Opmerkingen kunnen ook worden gebruikt door andere programmeurs die wijzigingen in de code willen aanbrengen. Als je een stuk code hebt geschreven en je wilt het niet verwijderen, maar je wilt de uitvoer zien zonder dat specifieke stukje code, dan kun je commentaar geven op dat specifieke stukje code en doorgaan en uitvoeren. Je programma zal prima werken, zou goede resultaten opleveren terwijl die extra code nog steeds aanwezig is in je script, maar het is niet effectief vanwege opmerkingen. Wanneer je dat stukje code opnieuw wilt gebruiken, ga je gang en verwijder je commentaar op die regels en je bent klaar om te gaan.
Er zijn twee manieren waarop u opmerkingen in bash kunt schrijven; de ene manier is om opmerkingen van één regel te schrijven, terwijl de andere manier wordt gebruikt om opmerkingen met meerdere regels te schrijven.

Enkele regel opmerkingen
In opmerkingen met één regel gebruiken we een '#'-teken dat helpt bij het reageren op de hele regel. Alles wat op de regel gevolgd door '#' wordt geschreven, wordt beschouwd als een opmerking en heeft geen echte waarde wanneer we het script uitvoeren. Dit commentaar van één regel kan worden gebruikt om de logica en het begrip van de code door te geven aan iemand die toegang heeft tot de code.

#!/bin/bash
gooide uit -En 'NAfdrukken op dezelfde regelN'
#Dit script helpt ons de / combinatie van /n en /t . toe te passen



Opmerkingen met meerdere regels
Stel dat u honderd regels in uw script wilt becommentariëren. In dat geval zou het moeilijk voor u zijn om opmerkingen met één regel te gebruiken. U wilt uw tijd niet verspillen door # op elke regel te zetten. We kunnen ':' en vervolgens 'wat dan ook opmerkingen' gebruiken. Het zou je helpen om commentaar te geven op meerdere regels door gewoon 3 symbolen in te typen die handig en nuttig zijn.

#!/bin/bash'
: ‘Dit is een script dat ervoor zorgt
dat en werken en toegepast worden
ineen manier waarop we de vereiste output hebben’
gooide uit -En 'NAfdrukken op dezelfde regelN'



Bekijk 30 voorbeelden van Bash-scripts op Linuxhint.com:

30 Bash-scriptvoorbeelden

6 belangrijkste lessen in Bash Scripting

1. Voorwaardelijke verklaring
De voorwaardelijke verklaring is een zeer nuttig hulpmiddel bij het nemen van beslissingen. Het wordt veel gebruikt in programmeertalen. Vaker moeten we beslissingen nemen op basis van bepaalde voorwaarden. De voorwaardelijke verklaring evalueert de gegeven voorwaarde en neemt de beslissing. In bash gebruiken we ook de voorwaardelijke instructie zoals elke andere programmeertaal. De syntaxis van het gebruik van de voorwaardelijke instructie in bash verschilt een beetje van de andere programmeertalen. De if-voorwaarde is de meest gebruikte voorwaardelijke instructie in bash en andere algemene programmeertalen. De if-voorwaarde evalueert de gegeven voorwaarde en neemt de beslissing. De gegeven voorwaarde wordt ook wel een testuitdrukking genoemd. Er zijn talloze manieren om de if-voorwaarde in bash te gebruiken. De if-voorwaarde wordt gebruikt met else-blok. In het geval dat de gegeven voorwaarde waar is, worden de instructies in het if-blok uitgevoerd, anders wordt het else-blok uitgevoerd. Er zijn meerdere manieren om de if condition-instructie in Bash te gebruiken, namelijk:

  1. Het if-statement
  2. De if else-verklaring
  3. Het geneste if-statement
  4. Het if elif statement

Het if-statement
De if-instructie evalueert alleen de gegeven voorwaarde, als de gegeven voorwaarde waar is, dan worden de instructies of opdrachten in het if-blok uitgevoerd, anders wordt het programma beëindigd. In bash, als de voorwaarde begint met het if-sleutelwoord en eindigt met het fi-sleutelwoord. Het then-sleutelwoord wordt gebruikt om het blok met instructies of opdrachten te definiëren die worden uitgevoerd wanneer een bepaalde voorwaarde waar is. Laten we een variabele declareren en de if-voorwaarde gebruiken om de waarde van de variabele te evalueren, ongeacht of deze groter is dan 10 of niet. De -gt wordt gebruikt om de groter dan-voorwaarde te evalueren, terwijl de -lt wordt gebruikt om de minder-dan-voorwaarde te evalueren.

#!/bin/bash
WAAR=100
#declareren van de if-voorwaarde
indien [ $ VAR -gt 10 ]
dan
gooide uit 'De$ VARgroter is dan 10'
#einde de if-voorwaarde
zijn


De if else-verklaring
De if else-instructie wordt ook gebruikt als een voorwaardelijke instructie. De instructies of opdrachten na de if-voorwaarde worden uitgevoerd als de gegeven voorwaarde waar is. Anders wordt het else-blok uitgevoerd als de gegeven voorwaarde niet waar is. Het else-blok wordt gevolgd door het if-blok en begint met het else-trefwoord.

#!/bin/bash
WAAR=7
#declareren van de if-voorwaarde
indien [ $ VAR -gt 10 ]
dan
gooide uit 'De$ VARgroter is dan 10'
#declaring else blok
anders
gooide uit 'De$ VARis minder dan 10'
#einde de if-voorwaarde
zijn


Meerdere voorwaarden kunnen worden geëvalueerd met behulp van de if-voorwaarde. We kunnen de operator en (&) en of operator (II) gebruiken om de meerdere voorwaarden binnen een enkele if-instructie te evalueren.

#!/bin/bash
WAAR=twintig
#declareren van de if-voorwaarde
indien [[ $ VAR -gt 10 && $ VAR -lt 100 ]]
dan
gooide uit 'De$ VARgroter is dan 10 en kleiner dan 100'
#declaring else blok
anders
gooide uit 'De voorwaarde voldoet niet'
#einde de if-voorwaarde
zijn


Het geneste if-statement
In geneste if-statement hebben we een if-statement in een if-statement. Het eerste if-statement wordt geëvalueerd, als het waar is, wordt het andere if-statement geëvalueerd.

#!/bin/bash
WAAR=twintig
#declareren van de if-voorwaarde
indien [[ $ VAR -gt 10 ]]
dan
#if voorwaarde binnen een andere if voorwaarde
indien [ $ VAR -lt 100 ]
dan
gooide uit 'De$ VARgroter is dan 10 en kleiner dan 100'
#declaring else blok
anders
gooide uit 'De voorwaarde voldoet niet'
#einde de if-voorwaarde
zijn
anders
gooide uit 'De$ VARis minder dan 10'
zijn


Het if elif statement
De if elif-instructie wordt gebruikt om meerdere voorwaarden te evalueren. De eerste voorwaarde begint met het if-blok en de andere voorwaarden worden gevolgd door het elif-sleutelwoord. Laten we eens kijken naar het vorige voorbeeld van een variabele nummer en de if elif-instructie in ons bash-script implementeren. De eq wordt gebruikt als een gelijke operator.

#!/bin/bash
WAAR=twintig
#declareren van de if-voorwaarde
indien [[ $ VAR -eq 1 ]]
dan
gooide uit 'De variabele waarde is gelijk aan 1'
elif [[ $ VAR -eq 2 ]]
dan
gooide uit 'De variabele waarde is gelijk aan 2'
elif [[ $ VAR -eq 3 ]]
dan
gooide uit 'De variabele waarde is gelijk aan 2'
elif [[ $ VAR -gt 5 ]]
dan
gooide uit 'De variabele waarde is groter dan 5'
zijn


2. Looping
Loops zijn het essentiële en fundamentele onderdeel van elke programmeertaal. In tegenstelling tot de andere programmeertalen, worden de lussen ook in Bash gebruikt om een ​​taak herhaaldelijk uit te voeren totdat de gegeven voorwaarde waar is. De lussen zijn iteratief, ze zijn een geweldig hulpmiddel voor het automatiseren van vergelijkbare soorten taken. De for-lus, de while-lus en de totdat-lus worden gebruikt in Bash.
Laten we deze lussen één voor één bespreken.

De while-lus
De while-lus voert dezelfde instructies of opdrachten herhaaldelijk uit. Het evalueert de voorwaarde en voert de instructies of opdrachten uit totdat de voorwaarde waar is.
Dit is de basissyntaxis van het gebruik van een while-lus in Bash.

Terwijl [ voorwaarde of testuitdrukking ]
doen
uitspraken
gedaan

Laten we de while-lus implementeren in ons script.sh-bestand. We hebben een variabele VAR waarvan de waarde gelijk is aan nul. In de while-lus hebben we als voorwaarde gesteld dat de lus moet lopen totdat de waarde van de VAR kleiner is dan 20. De variabelewaarde wordt na elke iteratie met 1 verhoogd. Dus in dit geval wordt de lus uitgevoerd totdat de variabelewaarde kleiner is dan 20.

#!/bin/bash
WAAR=0
terwijl [ $ VAR -lt twintig ]
doen
gooide uit 'De huidige waarde van variabele is$ VAR'
#verhogen van de waarde met 1 in VAR
WAAR= $((VAR +1))
gedaan


De for-lus
De for-lus is de meest gebruikte lus in elke programmeertaal. Het wordt gebruikt om de iteratieve taak uit te voeren. Het is de beste manier om repetitieve taken uit te voeren. Laten we de for-lus in ons script.sh-bestand declareren en gebruiken voor het uitvoeren van een repetitieve taak.

#!/bin/bash
WAAR=0
voor (( l==0; l<twintig; ik++))
doen
gooide uit 'Hallo en welkom bij de linuxhint'
#verhogen van de variabele i
l= $((ik+1))
gedaan
gooide uit 'Dit is het einde van de for-loop'


De tot-lus
Het andere type lus dat in Bash wordt gebruikt, is de lus tot. Het voert ook dezelfde reeks herhaaldelijk uit of voert deze uit. De lus tot evalueert de voorwaarde en begint met uitvoeren totdat de gegeven voorwaarde onwaar is. De lus tot eindigt wanneer de gegeven voorwaarde waar is. De syntaxis van de lus tot is als volgt:

tot [ voorwaarde ]
doen
uitspraken
commando's
gedaan

Laten we de tot-lus implementeren in ons script.sh-bestand. De lus tot wordt uitgevoerd tenzij de voorwaarde onwaar is (de waarde van de variabele is kleiner dan 20)

#!/bin/bash
WAAR=0
tot [ $ VAR -gt twintig ]
doen
gooide uit 'Hallo en welkom bij de linuxhint'
#verhogen van de variabele i
WAAR= $((VAR +1))
gedaan
gooide uit 'Dit is het einde van de tot-lus'


3. Lezen van de gebruiker en schrijven op het scherm
De Bash geeft de gebruiker de vrijheid om een ​​stringwaarde of gegevens op de terminal in te voeren. De door de gebruiker ingevoerde string of gegevens kunnen uit de terminal worden gelezen, in het bestand worden opgeslagen en op de terminal worden afgedrukt. In het Bash-bestand kan de invoer van de gebruiker worden gelezen met behulp van de lezen trefwoord en we slaan het op in een variabele. De variabele inhoud kan op de terminal worden weergegeven met behulp van het echo-commando.

#!/bin/bash
gooide uit 'Schrijf iets op de terminal'
#opslaan van de ingevoerde waarde in VAR
lezenWAAR
gooide uit 'Je kwam binnen:$ VAR'


Er kunnen meerdere opties worden gebruikt met het leescommando. De meest gebruikte opties zijn -p en -s. De -p geeft de prompt weer en de invoer kan in dezelfde regel worden genomen. De -s neemt de invoer in de stille modus. De karakters van de invoer worden weergegeven op de terminal. Het is handig om wat gevoelige informatie in te voeren, zoals wachtwoorden.

#!/bin/bash
lezen -P 'Voer email in:'e-mail
gooide uit 'Voer wachtwoord in'
lezen -swachtwoord


4. Tekstbestanden lezen en schrijven
Tekstbestanden zijn de essentiële componenten om de gegevens te lezen en te schrijven. De gegevens worden tijdelijk opgeslagen in de tekstbestanden en kunnen eenvoudig uit het tekstbestand worden gelezen. Laten we eerst bespreken hoe de gegevens in het tekstbestand worden geschreven en daarna bespreken we het lezen van de gegevens uit de tekstbestanden.

De tekstbestanden schrijven
De gegevens kunnen op verschillende manieren in een bestand worden geschreven:

  • Door de haakse haak of groter-dan-teken (>) te gebruiken
  • Door gebruik te maken van de dubbele haakse beugel (>>)
  • Door het tee-commando te gebruiken

Rechts Angel Bracket-teken (>) om gegevens te schrijven
het is de meest gebruikte manier om de gegevens in het tekstbestand te schrijven. We schrijven de gegevens en zetten dan het > teken. Het > teken wijst naar het tekstbestand waar we de gegevens moeten opslaan. Het voegt het bestand echter niet toe en eerdere gegevens van het bestand worden volledig vervangen door de nieuwe gegevens.

#!/bin/bash
#user voert de naam van het tekstbestand in
lezen -P 'Voer bestandsnaam in:'HET DOSSIER
#user voert de gegevens in die in het tekstbestand moeten worden opgeslagen
lezen -P 'Schrijf gegevens om in bestand in te voeren:'GEGEVENS
#gegevens opslaan in het tekstbestand
# > verwijst naar de bestandsnaam.
gooide uit $DATA > $BESTAND


Rechts Angel Bracket-teken (>>) om gegevens te schrijven
De >> wordt gebruikt om de uitvoer van een opdracht in het bestand op te slaan. De opdracht ls -al toont bijvoorbeeld de inhoud en machtigingen van een bestand in een bepaalde map. De >> slaat de uitvoer op in het bestand.

#!/bin/bash
#user voert de naam van het tekstbestand in
lezen -P 'Voer bestandsnaam in:'HET DOSSIER
#opslaan van de opdrachtuitvoer in het bestand
ls -naar de >> $BESTAND



Het tee-commando gebruiken om gegevens in het tekstbestand te schrijven
Het tee-commando in Bash wordt gebruikt om de uitvoer van het commando in een tekstbestand te schrijven. Het drukt de uitvoer van de opdracht op de terminal af en slaat deze ook op in het tekstbestand.

#!/bin/bash
#user voert de naam van het tekstbestand in
lezen -P 'Voer bestandsnaam in:'HET DOSSIER
#opslaan van de opdrachtuitvoer in het bestand met behulp van het tee-commando
ls -naar de | tee $BESTAND


Het tee-commando overschrijft standaard de bestaande gegevens van het bestand. Echter, -a optie met het tee commando kan gebruikt worden om het bestand toe te voegen.

#!/bin/bash
#user voert de naam van het tekstbestand in
lezen -P 'Voer bestandsnaam in:'HET DOSSIER
#opslaan van de opdrachtuitvoer in het bestand met behulp van het tee-commando
ls -naar de | tee -tot $BESTAND


De tekstbestanden lezen
De kat commando wordt gebruikt om gegevens uit het bestand te lezen. Het wordt hiervoor het meest gebruikt. Het drukt gewoon de inhoud van het tekstbestand af op de terminal. Laten we de inhoud of gegevens van het bestand op de terminal afdrukken met de kat opdracht.

#!/bin/bash
#user voert de naam van het tekstbestand in
lezen -P 'Voer bestandsnaam in:'HET DOSSIER
#lezen van de gegevens uit het tekstbestand
kat $BESTAND


5. Andere programma's uitvoeren vanuit bash
De Bash geeft de bevoegdheid om andere programma's uit te voeren vanuit het Bash-script. We gebruiken de opdracht exec om de andere programma's vanuit Bash uit te voeren. Het exec-commando vervangt het vorige proces door het huidige proces en start het huidige programma. We kunnen bijvoorbeeld de nano-, gedit- of vim-editor openen vanuit het bash-script.

#!/bin/bash
#running nano-editor van Bash
uitvoerend nano

#!/bin/bash
#running gedit van Bash
uitvoerendgedit

Op dezelfde manier kunnen we de browsertoepassing ook vanuit de Bash uitvoeren. Laten we de Mozilla Firefox-browser uitvoeren.

#!/bin/bash
#firefox draaien
uitvoerendfirefox


Bovendien kunnen we elk programma vanuit Bash uitvoeren met behulp van het exec-commando.

6. Opdrachtregelverwerking
De opdrachtregelverwerking verwijst naar de verwerking van de gegevens die op de terminal zijn ingevoerd. De opdrachtregelgegevens worden voor vele doeleinden verwerkt, d.w.z. het lezen van gebruikersinvoer, het onderschatten van de opdrachten en het lezen van de argumenten. Eerder hebben we het leescommando besproken. De leesopdracht wordt ook gebruikt voor opdrachtregelverwerking. In deze sectie bespreken we de verwerking van opdrachtregelargumenten. In Bash kunnen we de argumenten verwerken die op de terminal worden doorgegeven of geschreven. De argumenten worden op dezelfde manier verwerkt als ze worden doorgegeven. Daarom worden het positionele parameters genoemd. In tegenstelling tot andere programmeertalen begint het indexeren van de argumenten in Bash met 1. Het dollarteken ($) wordt gebruikt om de argumenten te lezen. De $1 leest bijvoorbeeld het eerste argument, de $2 leest het tweede argument, enzovoort. De argumenten kunnen om verschillende redenen worden geparseerd, bijvoorbeeld om input van de gebruiker te krijgen.

#!/bin/bash
gooide uit 'Vul uw naam in'
#verwerking van het eerste argument
gooide uit 'Voornaam:' $ 1
#het tweede argument verwerken
gooide uit 'Midden-naam:'$ 2
#het derde argument verwerken
gooide uit 'Achternaam:' $ 3
gooide uit 'Voor-en achternaam:' $ 1 $ 2 $ 3


Het lezen van de gegevens van de terminal met read en het ontleden van de argumenten zijn de meest geschikte voorbeelden van opdrachtregelverwerking.

Geschiedenis van bash en vergelijking met andere shells

De Bash is nu het essentiële onderdeel van op UNIX en Linux gebaseerde systemen. De Bourne Shell is oorspronkelijk ontwikkeld door Stephen Bourne. Het beoogde doel van de Stephen Bourne-granaat was om de beperkingen van de toen al bestaande granaten te overwinnen. Vóór de Bourne Shell introduceerde de UNIX de Thompson Shell. De Thompson-shell was echter zeer beperkt in het verwerken van scripts. De gebruikers waren niet in staat om een ​​voldoende hoeveelheid van het script uit te voeren. Om al deze beperkingen van de Thompson shell te overwinnen, werd de Bourne Shell geïntroduceerd. Het is ontwikkeld in het Bells Lab. In 1989 bracht de Brian Fox een revolutie teweeg in de Bourne-schaal door tal van andere functies toe te voegen en hem Bourne Again Shell (BASH) te noemen.

Naam van schelp Jaar Platform Beschrijving Vergelijking met BASH
Thompson Shell 1971 UNIX De automatisering van het script was beperkt. De gebruiker kan slechts een kleine hoeveelheid scripting uitvoeren. De BASH overwint de beperkingen van de Thompson-shell en de gebruiker kan de grote scripts schrijven.
Bourne Shell 1977 UNIX Het stelt ons in staat om een ​​enorme hoeveelheid scripts te schrijven en uit te voeren. De Bourne Shell biedt niet de opdrachteditor en een groter aantal snelkoppelingen. De BASH biedt verbeteringen in het ontwerp samen met de opdrachteditor.
POSIX-schaal 1992 POSIX De POSIX Shell is draagbaar. Het biedt veel snelkoppelingen en taakbeheer. De BASH is populair voor het uitvoeren van die taken die geen draagbaarheid vereisen.
Z Shell 1990 UNIX De Z Shell is rijk aan functies. Het is een zeer krachtige shell en biedt functies zoals het automatisch aanvullen van opdrachten, spellingcorrectie en automatisch aanvullen. De BASH mist enkele van de functies die worden geboden door de Z Shell.

Conclusie

BASH is een zeer krachtige tool waarmee we commando's en scripts kunnen uitvoeren. Een BASH-script stelt ons in staat om de dagelijkse taken en commando's te automatiseren. Een BASH-script is een combinatie van meerdere opdrachten. Het BASH-bestand eindigt met de extensie .sh. Voordat we het BASH-script uitvoeren, moeten we de bestandsmachtigingen bijwerken en moeten we de uitvoerbare machtiging voor het .sh-bestand geven. Dit artikel legt de BASH- en BASH-scripting uit met behulp van eenvoudige voorbeelden en belangrijke lessen. Bovendien beschrijft het de geschiedenis van BASH en vergelijkt het zijn eigenschappen met verschillende andere krachtige shells.