logo

Hoe Bash-script uit te voeren in Linux?

Bash-scripts, ook wel shell-scripts genoemd, zijn krachtige hulpmiddelen in de wereld van opdrachtregelautomatisering. Ze stellen u in staat een reeks taken uit te voeren of opdrachten uit te voeren door scripts te schrijven die in een terminal- of opdrachtregelinterface kunnen worden uitgevoerd. Vaak rijst echter de vraag: hoe voer je een Bash-script uit in Linux? In dit artikel onderzoeken we verschillende methoden voor het uitvoeren van Bash-scripts en geven we waardevolle inzichten in best practices.

Inhoudsopgave

string.waardevan java

De Shebang-lijn:

Voordat we ons verdiepen in de methoden voor het uitvoeren van Bash-scripts, is het belangrijk om de shebang-regel te begrijpen. De shebang-regel, de eerste regel in uw script, geeft de tolk aan die moet worden gebruikt om het script uit te voeren. Voor Bash-scripts zou deze regel er doorgaans als volgt uit moeten zien:



#!/bin/bash>

Deze regel informeert het systeem dat het script moet worden geïnterpreteerd met behulp van de Bash-shell. Hoewel sommige methoden zonder deze regel kunnen werken, is het een goede gewoonte om deze in uw script op te nemen om compatibiliteit te garanderen.

Gebruik bash of sh om Bash Script uit te voeren in Linux

Dit is de meest standaard manier om het bash-script uit te voeren. Je moet git bash geïnstalleerd hebben als je Windows gebruikt. Voor Linux en macOS wordt bash standaard geïnstalleerd. Bij deze methode typen we bash gevolgd door de bestandsnaam met de extensie, in dit geval sh. Voer in een terminal de volgende code uit door de bestandsnaam te vervangen door de bestandsnaam van uw bash-script.

bash filename.sh>

Hier is bash een programma dat de shell-omgevingen bevat die nodig zijn om het script vanuit de bash-shell uit te voeren. Dit zal dus het script van de bash-interpreter uitvoeren.

Gebruik de bash-opdracht om het script uit te voeren.

We kunnen sh ook gebruiken om het script uit te voeren, omdat het naar de standaardshell in de installatieomgeving wordt geleid.

sh filename.sh>

Gebruik de opdracht sh om het bash-script uit te voeren.

Uit het bovenstaande voorbeeld konden we een bash-script uitvoeren met zowel bash als de sh-opdracht. Als u zich niet in dezelfde map/directory bevindt als het script, zorg er dan voor dat u het relatieve pad naar het script opgeeft.

Source gebruiken om Bash-script uit te voeren in Linux

Deze methode is vrij eenvoudig om een ​​bash-script uit te voeren, en ze zijn allemaal vrij eenvoudig. We hoeven alleen maar de broncode in te typen vóór de bestands-/scriptnaam met een extensie. Voer in een terminal de volgende code uit door de bestandsnaam te vervangen door de bestandsnaam van uw bash-script.

source filename.sh>

Het script wordt eenvoudigweg uitgevoerd nadat het bestand is opgehaald. Het source-commando zal het shell-script uitvoeren als het standaard bash-commando, op voorwaarde dat je in de bash-shell zit. Je moet in de bash-shell zijn om het script uit te voeren met behulp van de source-opdracht.

Source gebruiken om een ​​bash-script uit te voeren

aaneengeschakelde strings

Uit de schermafbeelding van het lopende script kunnen we zien dat de broncode precies hetzelfde werkt als het bash- of sh-commando. Het bovenstaande script is erg eenvoudig, maar dat maakt niet uit, zolang het script maar foutloos en vrij van bugs is. Ook moet u hier ook het relatieve pad toevoegen als u zich niet in dezelfde map bevindt als het bash-script.

Het script uitvoerbaar maken metchmod>om Bash-script uit te voeren in Linux

Met deze methode kunt u een Bash-script als uitvoerbaar bestand uitvoeren, wat betekent dat u het overal in uw omgeving kunt uitvoeren, zolang u maar over een Bash-shell beschikt. Om het script uitvoerbaar te maken, moet u de bestandsrechten aanpassen met behulp van dechmod>commando.

Navigeer eerst naar de map waar uw script zich bevindt. Voer vervolgens de volgende opdracht uit om de modus van het bestand te wijzigen, zodat het uitvoerbaar wordt:

chmod +x filename.sh>

De `+x`>flag geeft aan dat het bestand uitvoerbaar moet zijn. Als u Linux gebruikt en niet de rootgebruiker bent, moet u mogelijk `sudo`>vóór de `chmod`>het commando voor toestemming.

Nadat u uitvoeringsrechten heeft verleend, kunt u het script uitvoeren met de volgende opdracht, ervan uitgaande dat u zich in dezelfde map bevindt als het script:

./filename.sh>

Als u zich niet op hetzelfde pad bevindt als het bash-script, zorg er dan voor dat u het relatieve pad naar het bestand of het bash-script opgeeft.

./pathToTheFile.sh>

chmod gebruiken en het script uitvoeren.

Een script uitvoeren vanuit een relatief pad.

Hoe Bash-script uit te voeren in Linux - Veelgestelde vragen

Hoe voer ik een Bash-script uit in Linux?

Om een ​​Bash-script in Linux uit te voeren, moet je er eerst voor zorgen dat het script uitvoerbare rechten heeft. Dit kun je doen door gebruik te maken van de ` chmod +x`> opdracht gevolgd door de scriptnaam. Zodra het script uitvoerbaar is, kunt u het uitvoeren door ` ./`> gevolgd door de scriptnaam in de terminal.

Kan ik een Bash-script uitvoeren zonder de terminal te gebruiken?

Ja, u kunt een Bash-script uitvoeren zonder de terminal te gebruiken door op het scriptbestand te dubbelklikken als uw bureaubladomgeving dit ondersteunt. Mogelijk moet u eerst de uitvoerbare machtigingen van het script instellen. Als alternatief kunt u een Bash-script indirect vanuit een ander programma of script uitvoeren.

Hoe voer ik een Bash-script uit als een specifieke gebruiker in Linux?

Om een ​​Bash-script uit te voeren als een specifieke gebruiker in Linux, kun je de ` sudo -u`> commando gevolgd door de gebruikersnaam en het pad naar het script. Hierdoor kunt u het script uitvoeren met de machtigingen van de opgegeven gebruiker.

Waarom krijg ik de foutmelding Toestemming geweigerd wanneer ik probeer een Bash-script uit te voeren?

De fout 'Toestemming geweigerd' treedt op wanneer het script geen uitvoerbare machtigingen heeft. U kunt dit probleem oplossen door gebruik te maken van de ` chmod +x`> opdracht om uitvoerbare machtigingen aan het script te verlenen. U kunt er ook voor zorgen dat u het script probeert uit te voeren vanuit een map waarin u over de juiste machtigingen beschikt.

bouwer ontwerppatroon

Kan ik een Bash-script op de achtergrond uitvoeren?

Ja, je kunt een Bash-script op de achtergrond uitvoeren door een ampersand (` &`> ) aan het einde van de opdracht wanneer het script wordt uitgevoerd. Hierdoor kan het script asynchroon worden uitgevoerd en kunt u de terminal blijven gebruiken terwijl het script op de achtergrond wordt uitgevoerd. Bovendien kunt u tools als ` nohup`> om scripts uit te voeren die los staan ​​van de terminalsessie.

Conclusie:

In dit artikel hebben we verschillende methoden besproken voor het uitvoeren van Bash-scripts in Linux en best practices gegeven om een ​​soepele uitvoering te garanderen. Door een shebang-regel in uw scripts op te nemen en de juiste methode voor uw behoeften te kiezen, kunt u de volledige kracht van Bash-scripts benutten om taken te automatiseren en uw opdrachtregelworkflow te stroomlijnen. Of u nu liever gebruiktbash>,sh>, ofsource>, of uw scripts uitvoerbaar maken metchmod>, stellen deze methoden je in staat om Bash-scripts effectief en efficiënt uit te voeren in een Linux-omgeving.