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
Svar
Kort svar
A .command
script skal gøre tricket
Trin for trin
- Åbn TextEdit og opret en ny fil
- Konverter det til almindelig tekst ved at klikke på Format> Opret almindelig tekst
-
Tilføj dine kommandoer, en pr. linje. For eksempel kan du gøre:
#! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder
-
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. - 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 somsomeAdminName
(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 .
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 skrivens
. Bliss.