Hur man gör Bash-skript till klickbara appar med AppleScript
Annons
Säg att du är en bash-skriptguide som älskar att automatisera uppgifter för dina mindre tekniska kunniga vänner och familj. Även om du har gett dem ett skript som fullständigt fixar deras problem, kan de fortfarande vara oroliga för att använda terminalen på egen hand. I det här fallet kan du lika gärna göra allt för dem manuellt.
Lyckligtvis är AppleScript ett användarvänligt språk som enkelt kan ta dina skript och förvandla dem till något delbart och GUI-vänligt.
Komma igång med AppleScript
AppleScript är ett äldre programmeringsspråk som går tillbaka till Mac OS 7. Det designades som ett enkelt och läsbart språk enligt användarnas standarder på 1980-talet. Det främsta syftet är att interagera med Finder för att automatisera arbetsflöden.
Du kan använda det för att ta ett komplext arbetsflöde, till exempel ett basskript eller ändring av en preferensfil, och förenkla det till ingenting annat än att klicka på en knapp. Du kan också få inmatning i form av filer som du drar och släpper ovanpå den.
Obs: Börja med vår inledande guide till AppleScript-syntax och arbetsflöde. Vad är AppleScript? Skriva ditt första Mac-automatiseringsskript Vad är AppleScript? Att skriva ditt första Mac-automatiseringsskript AppleScript kan hjälpa dig att automatisera upprepade uppgifter på din Mac. Här är en översikt och hur du skriver ditt första AppleScript-skript. Läs mer .
Skriptedigeringsverktyget i mappen Utilities är en AppleScript-textredigerare och IDE som hjälper dig att skriva ett funktionellt AppleScript. Dess menyalternativ i hjälpfältet är en ovärderlig resurs. Använd den för att ladda AppleScript Language Guide.
Du kan också gå till Fönster> Bibliotek för att få en lista med alla möjliga AppleScript-kommandon.
Gör dina basskript klickbara med AppleScript
Bash kan hjälpa dig att interagera med din Mac på ett kirurgiskt, hyperspecifikt sätt. Det är möjligt att skript nästan vad du vill göra till din maskin.
Normalt, om du vill köra ett bash-skript, måste du se till att det har körbara behörigheter. Då måste du öppna Terminal, navigera till skriptvägen och slå Return för att köra den. Med AppleScript kan du dock köra dina basskript med ett snabbt dubbelklick.
Kommandot “do shell script”
Att lägga till ditt bash-skript till AppleScript är en enkel process. Gå först till Program> Verktyg> Script Editor för att öppna ett nytt AppleScript. Välj sedan en plats för ditt färdiga skript och tryck på Nytt dokument . Du ser ett tomt redigeringsfönster.
Förbered ett basskript med din favorit macOS textredigerare, eller gör det rätt i Script Editor. När du är redo lägger du till det med do shell script
kommandot. Du kan skicka ett kommando med:
do shell script "Command"
Lägg till en semikolon (;) för att skicka flera kommandon, som i:
do shell script "Command1; Command 2"
För att hänvisa till ett befintligt basskript som finns någon annanstans använder du bara:
do shell script "/path/to/your/script.sh"
Om du vill köra ett kommando som kräver administratörsbehörighet kan du ställa in dem i AppleScript först, så:
do shell script "command" user name "USER" password "PASSWORD" with administrator privileges
Tryck på Play- knappen för att gå igenom din AppleScript och kontrollera om det finns syntaxfel. Spara slutligen ditt AppleScript; under File Format väljer du Application . Detta gör att du kan dubbelklicka för att köra den.
Reverse It Up i Bash
Som sidoanteckning, vad händer om du ville göra omvänt och lägga till AppleScript-kommandon till ditt bash-skript? Du kan göra det också!
I dina basskript kan du lägga till ett osascript
kommando följt av ditt AppleScript för att lägga till roliga element som användarinmatning eller varningsbannrar.
Använda AppleScript-droppar
Säg att du har en massa bilder som du måste ändra storlek för att göra dig redo för din blogg, eller att du vill sortera alla dina filer efter typ. Du kan skriva skript för att utföra dessa åtgärder, men ett traditionellt bash-skript kräver att du skriver hela sökvägen för varje fil du vill manipulera varje gång du vill göra det. Det kan bli tråkigt när du gör ett stort antal filer.
Lyckligtvis kan du konfigurera en AppleScript som bara kräver att du drar din målfil ovanpå den för att köra den som input. Dessa speciella AppleScripts kallas droppar . Så här skapar du en:
- Öppna en ny AppleScript med Script Editor.
- Starta AppleScript med hanteraren
on open dropped_file
. Du kan ringa drop_file vad du vill. AppleScript kommer att använda den som en variabel som tilldelas den fil du tappade. - Slutför resten av ditt skript med
do shell script
eller vanlig AppleScript-syntax. Se till att du stänger skriptet medend open
att stänga hanteraren. - Spara din AppleScript som ett program, som förklarats ovan.
Nu kan du dra och släppa filer direkt till dina skript.
Ett exempel på AppleScript-skript
Exemplet nedan visar båda dessa praktiska funktioner i aktion.
Ändra behörigheterna för alla dra-och-släppte filer
Säg att du ville ge en fil, skript eller dokument till en vän och ville se till att de inte kunde orka med det. Med detta skript kan du enkelt ta bort skrivbehörigheterna för alla filer för att ge dem en skrivskyddad version av den.
Kom ihåg att när du släpper en fil ovanpå en droplet läses dess sökvägs namn av AppleScript i HFS-format (hierarkiskt filsystem). Detta använder kolon och undgår inte utrymmen, så en fil på skrivbordet har följande lydelse:
Macintosh HD:Users:jdoe:Desktop:myfile
Bash använder en annan banstandard som heter POSIX, så samma fil i bash läses som Macintosh\ HD/Users/jdoe/Desktop/myfile
. Skriptet nedan konverterar filnamnet till lämplig sökstandard innan du ändrar behörigheter på det:
on open dropped_file set bash_path_file to the POSIX path of dropped_file do shell script "chmod -R -w " & quoted form of bash_path_file end open
Använd Automator för en mer Mac-automatisering
Nu när du har fått automatiserad klåda kan du skrapa den genom att dyka in i Automator på din Mac Lär dig använda Mac Automator med 6 praktiska exempelarbetsflöden Lär dig använda Mac Automator med 6 praktiska exempel Arbetsflöden Lite tålamod och kreativitet är allt du behöver för att börja automatisera din Mac - du behöver inte känna till en enda kodrad. Läs mer . Automator och AppleScript har många likheter. Om du bara har kommit igång i världen av skript och automatisering, kan du hitta Automator som en enklare gateway. I stället för ett läsbart programmeringsspråk använder Automator intuitiva dra-och-släpp-bubblor och ett lätt att lära gränssnitt för att förenkla dina vardagliga uppgifter.
Utforska mer om: Applescript, Computer Automation, Mac Tricks, Scripting, Task Automation.