Sådan oprettes en universel (script) fil til en Mac, baseret på flere terminalkommandoer

Jeg har flere terminalkommandoer, jeg bruger til fejlfindingsformål ved at skrive dem en efter en ind i terminalvinduet.

Disse kommandoer kræver, at brugerens adgangskode skal indtastes.

Jeg leder efter en måde at oprette en universel (script) fil på med disse kommandoer. Jeg vil være i stand til at køre filen på en Mac bare ved at dobbeltklikke på den eller trække filen over Terminal-ikonet.

Jeg har aldrig gjort noget lignende før. Er der nogen måde at oprette et sådant script på? Giv råd.

Kommentarer

  • Mener du at bede om, at du vil køre et script uden at have brugeren til at indtaste deres adgangskode?
  • @ Allan Jeg vil køre en fil i stedet for flere kommandoer . At køre det uden at have brugeren indtaste deres adgangskode mindst en gang ville være godt, men sandsynligvis umuligt, hvis jeg ' ikke tager fejl.
  • At ' er absolut muligt, medmindre du har brug for at gøre noget, der kræver admin – se mit svar nedenfor
  • Måske ikke nøjagtigt hvad du ' igen efter, men jeg fandt det meget effektivt. Du kan bruge alias f.eks. alias ns="sudo netstat -tulpn". Du kan endda placere disse i @reboot linjer på Crontab, hvis du vil have dem til hver boot. Nu kan jeg bare skrive ns. Bliss.

Svar

Kort svar

A .command script skal gøre tricket


Trin for trin

  1. Åbn TextEdit og opret en ny fil
  2. Konverter det til almindelig tekst ved at klikke på Format> Opret almindelig tekst
  3. Tilføj dine kommandoer, en pr. linje. For eksempel kan du gøre:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. Kør chmod u+x ~/Desktop/myCommandScript.command i din terminal, hvor ~/Desktop/myCommandScript.command er stien til dit script. Dette giver terminalen tilladelse til at køre filen.

  5. Du er færdig! Dobbeltklik på filen, der skal køres. Trækning over terminalikonet fungerer også.

Bemærkninger:

  • Hvis du har brug for at gøre noget, der kræver root (admin) -adgang, kan du prefikse din kommando med sudo. Når scriptet kører, skal du indtaste din adgangskode (og være administrator)
  • Hvis slutbrugeren ikke er administrator, men du skal gøre noget, der krævede rodadgang, kan du bruge su someAdminName, som udfører kommandoen som someAdminName (du har brug for hans adgangskode).

Du kan også se her på Stack Overflow for lidt mere information.

Kommentarer

  • Er der en måde at oprette en kommandofil på ikke at logge af? Jeg vil have en kommandofil, der åbner terminalen med en foruddefineret stivariabel.

Svar

Et script er bare en række kommandoer, så du kan sætte det i et bash-script.

#!/bin/bash command 1 command 2 command 3 

Alt dette afhænger af kommandotypen, og hvorvidt det er de kræver brugerindblanding.

Hvis du f.eks. får diagnosticeringsoplysninger, kan du have et script, der gør

#!/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 er bare eksempler . Husk, at al genereret output sendes til konsollen (skærm). Du kan dog omdirigere output til en fil ved at tilføje >> /path/to/outputfile.txt i slutningen af hver kommando, så du har en fil, som du kan analysere, når filen er kørt.

Du kan navngive filen diagnostics.sh og placere den hvor som helst. Bare sørg for at gøre det eksekverbart ved at udstede kommandoen chmod +x diagnostics.sh og brug ./diagnostics.sh til at udføre det eller dobbeltklik på den for at køre den, hvis den er gemt på dit skrivebord .

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *