Hur man skapar en universell (skript) fil för en Mac, baserad på flera terminalkommandon

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

  • Menar du att du vill köra ett skript utan att låta användaren ange deras lösenord?
  • @ Allan Jag vill köra en fil istället för flera kommandon . Att köra det utan att användaren måste ange sitt lösenord minst en gång skulle vara bra, men troligtvis omöjligt om jag ' inte tar fel.
  • Att ' är definitivt möjligt om du inte behöver göra något som kräver admin – se mitt svar nedan
  • Kanske inte exakt vad du ' efter, men jag tyckte att det var mycket effektivt. Du kan använda 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 skriva ns. Salighet.

Svar

Kort svar

A .command skript ska göra tricket


Steg för steg

  1. Öppna TextEdit och skapa en ny fil
  2. Konvertera det till vanlig text genom att klicka på Format> Skapa vanlig text
  3. Lägg till dina kommandon, en per rad. Du kan till exempel göra:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. 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.

  5. 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 som someAdminName (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 .

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *