Jag har flera terminalkommandon som jag använder för felsökningsändamål genom att skriva dem en efter en i terminalfönstret.
Dessa kommandon kräver att användarens lösenord ska anges.
Jag letar efter ett sätt att skapa en universell (script) fil med dessa kommandon. Jag vill kunna köra filen på en Mac bara genom att dubbelklicka på den eller dra filen över Terminal-ikonen.
Jag har aldrig gjort något liknande förut. Finns det något sätt att skapa ett sådant manus? Vänligen meddela.
Kommentarer
Svar
Kort svar
A .command
skript ska göra tricket
Steg för steg
- Öppna TextEdit och skapa en ny fil
- Konvertera det till vanlig text genom att klicka på Format> Skapa vanlig text
-
Lägg till dina kommandon, en per rad. Du kan till exempel göra:
#! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder
-
Kör
chmod u+x ~/Desktop/myCommandScript.command
i din terminal, där~/Desktop/myCommandScript.command
är sökvägen till ditt skript. Detta ger terminalen tillstånd att köra filen. - Du är klar! Dubbelklicka på filen som ska köras. Att dra över terminalikonen fungerar också.
Anteckningar:
- Om du behöver göra något som kräver root (admin) -åtkomst kan du prefixa ditt kommando med
sudo
. När skriptet körs måste du ange ditt lösenord (och vara administratör) - Om slutanvändaren inte är administratör, men du måste göra något som kräver root-åtkomst kan du använda
su someAdminName
, som kommer att utföra kommandot somsomeAdminName
(du behöver hans lösenord).
Du kan också se här på Stack Overflow för lite mer information.
Kommentarer
- Finns det ett sätt att skapa en kommandofil för att inte logga ut? Jag vill ha en kommandofil som öppnar terminalen med fördefinierad sökvariabel.
Svar
Ett skript är bara en serie kommandon, så du kan lägga in det i ett bash-skript.
#!/bin/bash command 1 command 2 command 3
Allt beror allt på kommandotyperna och huruvida de kräver användarintervention.
Men om du till exempel får diagnostisk information kan du ha ett skript som gör det
#!/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
Det är bara för exempel . Tänk på att all produktion som genereras skickas till konsolen (skärm). Du kan dock omdirigera utdata till en fil genom att lägga till >> /path/to/outputfile.txt
i slutet av varje kommando så att du har en fil som du kan analysera när filen har körts.
Du kan namnge filen diagnostics.sh
och placera den var du vill. Se bara till att du gör det körbart genom att utfärda kommandot chmod +x diagnostics.sh
och använda ./diagnostics.sh
för att utföra det eller dubbelklicka på den för att köra den om den sparas på skrivbordet .
alias
t.ex.alias ns="sudo netstat -tulpn"
. Du kan till och med placera dessa i@reboot
rader på Crontab om du vill ha dem i varje start. Nu kan jag bara skrivans
. Salighet.