Hoe voer je Terminal-opdrachten uit vanuit een script op macOS?

Om Terminal-opdrachten vanuit een script op macOS uit te voeren, plaatst u ze in een shellscript in platte tekst, maakt u het uitvoerbaar en voert u het vervolgens uit vanuit Finder of Terminal. Gebruik een .commandextensie om het te openen door erop te dubbelklikken. Een script omzeilt de privacyinstellingen van macOS niet en verleent geen beheerdersrechten.

Een venster van een teksteditor waarin een zsh shebang en een echo-opdracht in MyScript.command worden weergegeven.
Een kort shellscript begint met een shebang die zsh selecteert.

1. Schrijf de opdrachten in een platte tekstbestand.

Een shellscript is een tekstbestand met opdrachten. Begin het met een shebang , de eerste regel die macOS vertelt welke shell het bestand moet interpreteren. De huidige standaard shell voor nieuwe Terminal-vensters is zsh, hoewel een beheerder een andere standaard shell kan instellen, zoals Apple uitlegt in de Terminal-handleiding . Dit voorbeeld gebruikt expliciet zsh:

#!/bin/zsh
# Print a message when the script runs
echo "Script is running"

Plaats opdrachten op aparte regels onder de shebang. De shebang kiest de interpreter, dus gebruik de syntaxis die deze ondersteunt; een Bash-script kan bijvoorbeeld beginnen met . De shellscript-handleiding#!/bin/bash van Apple legt de basisprincipes uit.

Je kunt TextEdit gebruiken, maar zorg ervoor dat het bestand platte tekst is: nieuwe TextEdit-documenten kunnen opgemaakte tekst bevatten. Kies 'Opmaak' > 'Platte tekst' of stel de documentindeling van TextEdit in op 'Platte tekst' in de instellingen. Opmaak met opmaak is geen shellcode. Apple beschrijft deze opties in de TextEdit-handleiding . Een code-editor of een opdrachtregel-editor nanowerkt ook.

Een macOS-dialoogvenster voor opslaan, waarbij MyScript.command is geselecteerd als een platte tekstbestand op het bureaublad.
Sla het script op met de extensie .command op een locatie die je gemakkelijk kunt terugvinden.

2. Sla het op met een .commandextensie

Sla het platte tekstbestand op met een beschrijvende naam, bijvoorbeeld MyScript.command. De extensie zorgt ervoor dat Finder het script in Terminal kan openen wanneer je erop dubbelklikt. De gearchiveerde ontwikkelaarsdocumentatie van Apple beschrijft deze dubbelklik-workflow voor shellscripts. Controleer de uiteindelijke naam in Finder: als deze eindigt op .command.txt, hernoem het bestand dan zodat de uiteindelijke extensie alleen is .command. Bewaar het voorbeeldbestand op een locatie zoals je bureaublad terwijl je het instelt.

Als macOS vraagt ​​welke extensie te gebruiken, laat het bestand dan staan .command​​en controleer of Finder deze niet heeft toegevoegd .txt.

3. Maak het script uitvoerbaar

Open Terminal en geef je account toestemming om het bestand uit te voeren. Voor het voorbeeld dat op het bureaublad is opgeslagen, voer je het volgende in:

chmod u+x "$HOME/Desktop/MyScript.command"

Druk op Enter. u+xHiermee wordt de eigenaar uitvoerrechten gegeven; aanhalingstekens beschermen paden met spaties. Vervang het voorbeeldpad indien nodig. Sleep het bestand naar Terminal of gebruik het Option-klikmenu van Finder om het pad te kopiëren. Apple laat dezelfde methode zien in de instructies voor uitvoerbare bestanden .

Een terminalvenster toont de opdracht `chmod u+x` die is toegepast op het bestand `MyScript.command` op het bureaublad.
Het commando `chmod` geeft de eigenaar van het bestand uitvoerrechten.

4. Voer het script uit

Dubbelklik MyScript.commandin Finder om het in Terminal uit te voeren. De uitvoer en eventuele fouten verschijnen daar. Of voer het volledige pad in:

"$HOME/Desktop/MyScript.command"

Of ga eerst naar de map en voeg vervolgens een dubbele punt (:) toe aan de bestandsnaam ./.

cd "$HOME/Desktop"
./MyScript.command

Dit commando geeft de shell de opdracht om een ​​bestand in de huidige map uit te voeren. De Terminal-handleiding./ van Apple legt uit hoe je een uitvoerbaar bestand kunt starten aan de hand van het pad.

Een terminalvenster waarin MyScript.command wordt uitgevoerd en de uitvoer "Script is running" wordt weergegeven.
Voer het bestand uit via het opgegeven pad en controleer de uitvoer in de terminal.

Los veelvoorkomende fouten op

  • "Toegang geweigerd": Controleer of u chmod u+xhet juiste bestand hebt geopend. Herhaal de opdracht indien nodig met het exacte pad naar het bestand. Het uitvoerbaar maken van een bestand betekent niet dat elke opdracht in dat bestand uitvoerbaar is.
  • "Bestand of map bestaat niet": Controleer de locatie en de spelling, inclusief de extensie. Een bestand dat per ongeluk is opgeslagen, MyScript.command.txtkomt niet overeen met de bovenstaande opdracht. Het bestand naar Terminal slepen kan helpen om het pad in te voeren.
  • Een commando werkt wanneer het wordt ingetypt, maar niet in het script: het script kan een andere shell gebruiken of afhankelijk zijn van aliassen, omgevingsvariabelen of een werkmap uit je interactieve Terminal-sessie. Gebruik de juiste shebang, vermijd het gebruik van aliassen en geef bestandspaden expliciet op. Als de commando's een specifieke map nodig hebben, voeg dan een relevante cdregel toe aan het begin van het script.

Zorg dat je de gebruiksrechten begrijpt voordat je iets deelt.

De uitvoerrechten staan ​​los van de privacyrechten. Een script wordt normaal gesproken uitgevoerd onder uw account; gebruik deze rechten sudoalleen voor opdrachten die beheerdersrechten vereisen.

macOS kan toegang vragen tot beveiligde mappen of andere apps. Bekijk elk verzoek en sta alleen toe wat nodig is. Controleer het Apple-menu > Systeeminstellingen > Privacy en beveiliging voor bestanden en mappen en de bijbehorende privacyinstellingen . Goedkeuringen zijn afhankelijk van de gevraagde toegang en de aanvragende app; het zijn geen algemene machtigingen per opdracht en ze worden niet gedeeld met een script.

Voordat je een script uitvoert of deelt, lees dan elke regel en zorg ervoor dat je begrijpt wat er wordt gewijzigd. Een .commandbestand is handig omdat het direct kan worden uitgevoerd zodra je het opent, dus gebruik alleen bestanden van bronnen die je vertrouwt.

Laat een reactie achter

Hoe maak je een screenshot op een Mac: een uitgebreide handleiding

Hoe maak je een screenshot op een Mac: een uitgebreide handleiding

Leer hoe je screenshots maakt op een Mac met sneltoetsen voor het volledige scherm, een gedeelte of een venster, plus tips voor de Screenshot-app, het klembord, bewerken en de opslaglocatie.

Hoe voeg je meerdere afbeeldingen toe aan één PDF-bestand op macOS?

Hoe voeg je meerdere afbeeldingen toe aan één PDF-bestand op macOS?

Combineer meerdere afbeeldingen tot één PDF-bestand op macOS met Finder of Voorvertoning. Bepaal de paginavolgorde, voorkom bijsnijden en herstel ontbrekende pagina's zonder extra software.

Hoe je de FPS op macOS kunt bekijken: Steam en Apple's Metal HUD

Hoe je de FPS op macOS kunt bekijken: Steam en Apple's Metal HUD

Leer hoe je de FPS op een Mac kunt weergeven met de prestatie-overlay van Steam of Apple's Metal Performance HUD, en ontdek oplossingen voor het geval de teller niet verschijnt.

Hoe je een app geforceerd afsluit op een Mac: 5 snelle manieren om een ​​app te sluiten

Hoe je een app geforceerd afsluit op een Mac: 5 snelle manieren om een ​​app te sluiten

Gebruik Option-Command-Esc om een ​​vastgelopen Mac-app geforceerd af te sluiten, of sluit de app via het Apple-menu, het Dock, Activiteitenmonitor of Terminal.

Hoe gebruik je de splitscreenfunctie op een Mac: twee apps naast elkaar plaatsen

Hoe gebruik je de splitscreenfunctie op een Mac: twee apps naast elkaar plaatsen

Stel Split View in, wijzig de grootte van een venster of vervang het, gebruik Mission Control en ontdek wanneer vensterindeling op het bureaublad beter geschikt is voor jouw Mac.

Hoe verwijder ik EXIF-gegevens uit foto's op macOS?

Hoe verwijder ik EXIF-gegevens uit foto's op macOS?

Leer hoe je EXIF-gegevens uit foto's verwijdert op macOS, de locatie in Foto's verbergt, geëxporteerde JPEG-kopieën opschoont met ExifTool en het resultaat controleert.

Hoe synchroniseer je twee mappen veilig op een Mac?

Hoe synchroniseer je twee mappen veilig op een Mac?

Synchroniseer twee mappen op een Mac met SyncTwoFolders, kies voor een eenzijdige of tweezijdige update en bekijk een voorbeeld van de wijzigingen voordat bestanden worden vervangen of verwijderd.

Hoe maak je een back-up van je Tumblr-blog op een Mac?

Hoe maak je een back-up van je Tumblr-blog op een Mac?

Maak een back-up van je Tumblr-blog op je Mac met de webexportfunctie van Tumblr. Download en pak het ZIP-bestand uit, bewaar je berichten en media veilig en zie wat er niet in het archief is opgenomen.

Hoe gebruik je Google Maps op een Mac-desktop?

Hoe gebruik je Google Maps op een Mac-desktop?

Gebruik Google Maps op je Mac in Safari of Chrome, vind plaatsen en routes, schakel tussen kaartlagen en voeg een Safari-webapp toe aan je Dock op macOS Sonoma 14 of later.

5 beste gratis WAV naar MP3-converters voor Windows en macOS

5 beste gratis WAV naar MP3-converters voor Windows en macOS

Vergelijk vijf gratis WAV-naar-MP3-converters voor Windows en macOS, inclusief online bestandslimieten, lokale batchverwerkingstools en praktische exportinstellingen.