Hvordan lage en universell (script) fil for en Mac, basert på flere terminalkommandoer

Jeg har flere terminalkommandoer jeg bruker for feilsøking, ved å skrive dem en etter en i terminalvinduet.

Disse kommandoene krever at brukerens passord skal oppgis.

Jeg ser etter en måte å lage en universell (script) fil med disse kommandoene. Jeg vil være i stand til å kjøre filen på en Mac bare ved å dobbeltklikke på den eller dra filen over Terminal-ikonet.

Jeg har aldri gjort noe lignende før. Er det noen måte å lage et slikt manus på? Vennligst gi beskjed.

Kommentarer

  • Mener du å be om at du vil kjøre et skript uten å få brukeren til å angi passordet deres?
  • @ Allan Jeg vil kjøre en fil i stedet for flere kommandoer . Å kjøre det uten at brukeren oppgir passordet minst en gang, vil være bra, men mest sannsynlig umulig hvis jeg ' ikke tar feil.
  • At ' er absolutt mulig med mindre du trenger å gjøre noe som krever admin – se svaret mitt nedenfor
  • Kanskje ikke akkurat det du ' re etter, men jeg syntes det var veldig effektivt. Du kan bruke alias f.eks. alias ns="sudo netstat -tulpn". Du kan til og med sette disse i @reboot -linjene på Crontab hvis du vil ha dem på hver oppstart. Nå kan jeg bare skrive ns. Salighet.

Svar

Kort svar

A .command skript skal gjøre susen


Steg-for-trinn

  1. Åpne TextEdit og opprett en ny fil
  2. Konverter det til ren tekst ved å klikke Format> Lag vanlig tekst
  3. Legg til kommandoene dine, en per linje. Du kan for eksempel gjøre:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. Kjør chmod u+x ~/Desktop/myCommandScript.command i terminalen din, der ~/Desktop/myCommandScript.command er banen til skriptet ditt. Dette gir terminalen tillatelse til å kjøre filen.

  5. Du er ferdig! Dobbeltklikk på filen for å kjøre. Å dra over terminalikonet vil også fungere.

Merknader:

  • Hvis du trenger å gjøre noe som krever root (admin) -tilgang, kan du prefikse kommandoen din med sudo. Når skriptet kjører, må du oppgi passordet ditt (og være administrator)
  • Hvis sluttbrukeren ikke er administrator, men du trenger å gjøre noe som krever root-tilgang, kan du bruke su someAdminName, som utfører kommandoen som someAdminName (du trenger passordet hans).

Du kan også se her på Stack Overflow for litt mer informasjon.

Kommentarer

  • Er det en måte å lage en kommandofil for ikke å logge av? Jeg vil ha en kommandofil som åpner terminalen med forhåndsdefinert banevariabel.

Svar

Et skript er bare en serie med kommandoer, så du kan legge den i et bash-skript.

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

Alt dette avhenger av kommandotypene og hvorvidt de krever brukerintervensjon.

Hvis du for eksempel får diagnostisk informasjon, kan du ha et skript som gjø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 

Dette er bare eksempler . Husk at all produksjon som genereres, sendes til konsollen (skjerm). Du kan imidlertid omdirigere utdataene til en fil ved å legge til >> /path/to/outputfile.txt på slutten av hver kommando, slik at du har en fil som du kan analysere når filen er ferdig kjørt.

Du kan gi filen navnet diagnostics.sh og plassere den hvor du vil. Bare vær sikker på at du gjør den kjørbar ved å utstede kommandoen chmod +x diagnostics.sh og bruk ./diagnostics.sh for å utføre den eller dobbeltklikk på den for å kjøre den hvis den er lagret på skrivebordet ditt .

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *