Ik heb verschillende Terminal-commandos die ik gebruik om problemen op te lossen, door ze te typen een voor een in het terminalvenster.
Voor deze commandos moet het wachtwoord van de gebruiker worden ingevoerd.
Ik ben op zoek naar een manier om een universeel (script) bestand te maken met deze commandos. Ik wil het bestand op een Mac kunnen draaien door erop te dubbelklikken of door het bestand over het Terminal-pictogram te slepen.
Ik heb nog nooit zoiets gedaan. Is er een manier om zon script te maken? Gelieve te adviseren.
Opmerkingen
Antwoord
Kort antwoord
A .command
script zou het moeten doen
Stap voor stap
- Open TextEdit en maak een nieuw bestand
- Converteren het naar platte tekst door te klikken op Formaat> Maak platte tekst
-
Voeg je commandos toe, één per regel. U kunt bijvoorbeeld doen:
#! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder
-
Voer
chmod u+x ~/Desktop/myCommandScript.command
uit in uw terminal, waarbij~/Desktop/myCommandScript.command
het pad naar uw script is. Dit geeft de terminal toestemming om het bestand uit te voeren. - Je bent klaar! Dubbelklik op het bestand om uit te voeren. Slepen over het terminalpictogram zal ook werken.
Opmerkingen:
- Als je iets moet doen waarvoor root (admin) toegang nodig is, kun je je commando vooraf laten gaan met
sudo
. Wanneer het script wordt uitgevoerd, moet u uw wachtwoord invoeren (en een beheerder zijn). - Als de eindgebruiker geen beheerder is, maar u iets moet doen waarvoor root-toegang vereist is, kunt u dit gebruiken
su someAdminName
, die het commando zal uitvoeren alssomeAdminName
(je hebt zijn wachtwoord nodig).
Je kunt ook hier op Stack Overflow zien voor wat meer informatie.
Reacties
- Is er een manier om een opdrachtbestand te maken om niet uit te loggen? Ik wil een commandobestand hebben dat de terminal opent met een vooraf gedefinieerde padvariabele.
Answer
Een script is gewoon een reeks commandos, dus je zou het in een bash-script kunnen plaatsen.
#!/bin/bash command 1 command 2 command 3
Nu, dit hangt allemaal af van het type commando en of ze vereisen tussenkomst van de gebruiker.
Als u bijvoorbeeld diagnostische informatie krijgt, kunt u een script hebben dat dat doet
#!/bin/bash # Get SMART status of main drive diskutil info disk0 | grep -i smart # Get the model of the machine in question system_profiler SPHardwareDataType | grep -i Identifier
Dat zijn slechts voorbeelden . Houd er rekening mee dat elke gegenereerde output naar de console (scherm) wordt gestuurd. U kunt de uitvoer echter omleiden naar een bestand door >> /path/to/outputfile.txt
toe te voegen aan het einde van elk commando, zodat u een bestand heeft dat u kunt parseren zodra het bestand is uitgevoerd.
U kunt het bestand diagnostics.sh
een naam geven en het waar u maar wilt plaatsen. Zorg ervoor dat u het uitvoerbaar maakt door het commando chmod +x diagnostics.sh
te geven en ./diagnostics.sh
te gebruiken om het uit te voeren of dubbelklik erop om het uit te voeren als het op uw bureaublad is opgeslagen .
alias
gebruiken.alias ns="sudo netstat -tulpn"
. Je zou deze zelfs in@reboot
regels op Crontab kunnen plaatsen als je ze bij elke keer opstarten wilt hebben. Nu kan ik gewoonns
typen. Gelukzaligheid.