Wat is het COMMAND-bestandsformaat?
Een .command-bestand is een shell-script in platte tekst dat door macOS Finder is geconfigureerd om direct in Terminal.app te worden geopend en uitgevoerd. Qua inhoud is het identiek aan een shell-script - een reeks POSIX-shell-opdrachten met een optionele shebang-regel op de eerste regel. De extensie .command is wat het gedrag onderscheidt: dubbelklikken op een .command-bestand start Terminal.app en voert het script uit in een nieuw venster, terwijl dubbelklikken op een .sh-bestand het opent in een tekstverwerker.
Voordat een .command-bestand kan worden uitgevoerd door te dubbelklikken, moet de uitvoeringsmachtiging zijn ingesteld - gebruik chmod +x yourscript.command in Terminal. Bestanden die van internet zijn gedownload, vallen onder macOS Gatekeeper; klik met de rechtermuisknop en kies Open om de waarschuwing bij de eerste uitvoering voor niet-ondertekende scripts te omzeilen.
Zonder shebang valt macOS terug op /bin/sh. Veelvoorkomende shebangs zijn:
#!/bin/bash- Bash-interpreter#!/bin/zsh- Zsh (standaard macOS-shell sinds Catalina 10.15)#!/bin/sh- POSIX sh (meest overdraagbaar)
.command-bestanden worden veel gebruikt voor het leveren van eenvoudige macOS-hulpprogramma's, installatieprogramma's en ontwikkelaarstools die een voor de gebruiker zichtbare Terminal-sessie vereisen. Ze kunnen in elke tekstverwerker worden geopend en zijn volledig leesbaar voor mensen.
Beveiliging & veiligheid
RISICO: MEDIUMEen .command-bestand kan elke shell-opdracht op macOS uitvoeren - inclusief het verwijderen van bestanden, het downloaden van malware of het wijzigen van systeeminstellingen. Voer nooit een .command-bestand van een niet-vertrouwde bron uit zonder eerst de inhoud te lezen (rechtermuisknop > Open met > Tekstedit). macOS Gatekeeper voegt een quarantainevlag toe aan bestanden die van internet zijn gedownload, wat een waarschuwing geeft bij de eerste uitvoering - omzeil dit niet voor onbekende scripts.
Formaatdetails
in een notendopProgramma's die COMMAND-bestanden openen
macvim script.command in Terminal. chmod +x script.command in Terminal. Technische details
diepe specificaties| Bestandstype | Platte tekst POSIX shell-script |
| MIME-type | text/x-shellscript |
| Codering | UTF-8 (aanbevolen); ASCII komt ook veel voor |
| Regeleinden | Unix-stijl LF vereist; Windows CRLF-regeleinden verstoren de uitvoering van het script |
| Magic bytes | Geen (platte tekst); shebang op regel 1 identificeert de interpreter |
| Uitvoeringsmachtiging | chmod +x vereist; zonder dit start Finder Terminal niet bij dubbelklikken |
| Standaard interpreter (geen shebang) | /bin/sh op macOS |
| Gatekeeper-quarantaine | Gedownloade .command-bestanden activeren een waarschuwing bij de eerste uitvoering; klik met de rechtermuisknop > Open om te omzeilen |
| Finder dubbelklik-gedrag | Start Terminal.app en voert het script uit in een nieuw venster |
| Functioneel verschil met .sh | Alleen de extensie; scriptinhoud is identiek - .sh opent in tekstverwerker, .command wordt uitgevoerd in Terminal |
| Bijbehorend OS | macOS (Finder-integratie); script-syntaxis werkt op elk POSIX-systeem |
| Typische bestandsgrootte | 100 bytes - 100 KB |
| Uitgebracht | ~2001 (Mac OS X 10.0 - Terminal.app era) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | support.apple.com |
COMMAND conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over COMMAND-bestanden.
Veelgestelde vragen
Wat is een .command-bestand op een Mac?
Hoe voer ik een .command-bestand uit?
chmod +x ~/pad/naar/script.command uit in Terminal.