Come creare un file universale (script) per un Mac, basato su diversi comandi di Terminale

13

Ho diversi comandi Terminal che uso per la risoluzione dei problemi, digitandoli uno alla volta nella finestra del terminale.

Questi comandi richiedono l'inserimento della password dell'utente.

Sto cercando un modo per creare un file universale (script) con questi comandi. Voglio essere in grado di eseguire il file su un Mac semplicemente facendo doppio clic su di esso o trascinando il file sull'icona del Terminale.

Non ho mai fatto nulla di simile prima. C'è un modo per creare un tale script? Si prega di avvisare.

    
posta 0lesya 21.03.2017 - 20:26
fonte

2 risposte

18

Risposta breve

Uno script .command dovrebbe fare il trucco

Step-by-step

  1. Apri TextEdit e crea un nuovo file
  2. Converti in testo normale facendo clic su Formato > Crea testo normale
  3. Aggiungi i tuoi comandi, uno per riga. Ad esempio, puoi eseguire:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. Esegui chmod u+x ~/Desktop/myCommandScript.command nel tuo terminale, dove ~/Desktop/myCommandScript.command è il percorso del tuo script. Questo darà al terminale il permesso di eseguire il file.

  5. Hai finito! Fare doppio clic sul file da eseguire. Funzionerà anche il trascinamento sull'icona del terminale.

Note:

  • Se devi fare qualcosa che richiede l'accesso root (admin), puoi anteporre il comando a sudo . Quando viene eseguito lo script, dovrai inserire la tua password (e diventare un amministratore)
  • Se l'utente finale non è un amministratore, ma devi fare qualcosa che richiede l'accesso root, puoi usare su someAdminName , che eseguirà il comando come someAdminName (avrai bisogno della sua password).

Puoi anche vedere qui su Stack Overflow per ulteriori informazioni.

    
risposta data 21.03.2017 - 20:56
fonte
6

Uno script è solo una serie di comandi, quindi puoi inserirlo in uno script bash.

#!/bin/bash

command 1
command 2
command 3

Ora, tutto dipende dai loro tipi di comando e dal fatto che richiedano o meno l'intervento dell'utente.

Tuttavia, se ricevi informazioni diagnostiche, ad esempio, puoi avere uno script che

#!/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

Questi sono solo per esempi. Tieni presente che qualsiasi output generato verrà inviato alla console (schermo). Tuttavia, puoi reindirizzare l'output a un file aggiungendo >> /path/to/outputfile.txt alla fine di ogni comando in modo da avere un file che puoi analizzare una volta che il file ha finito di funzionare.

Puoi dare un nome al file diagnostics.sh e posizionarlo dove vuoi. Assicurati di renderlo eseguibile emettendo il comando chmod +x diagnostics.sh e usa ./diagnostics.sh per eseguirlo o fai doppio clic su di esso per eseguirlo se è salvato sul desktop .

    
risposta data 21.03.2017 - 20:58
fonte

Leggi altre domande sui tag