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


20

Ho diversi comandi di Terminale che utilizzo a scopo di 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.


Intendi chiedere di voler eseguire uno script senza che l'utente inserisca la propria password?
Allan,

@Allan Voglio eseguire un file invece di più comandi . Eseguirlo senza che l'utente inserisca la password almeno una volta sarebbe positivo, ma molto probabilmente impossibile se non sbaglio.
0lesya,

Questo è sicuramente possibile a meno che tu non debba fare qualcosa che richiede admin - vedi la mia risposta di seguito
Cullub

Risposte:


30

Risposta breve

Una .commandsceneggiatura dovrebbe fare il trucco


Passo dopo passo

  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, potresti fare:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. Corri chmod u+x ~/Desktop/myCommandScript.commandnel tuo terminale, dove si ~/Desktop/myCommandScript.commandtrova il percorso dello script. Ciò consentirà al terminale di eseguire il file.

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

Appunti:

  • Se devi fare qualcosa che richiede l'accesso root (admin), puoi aggiungere il prefisso al tuo comando sudo. Quando lo script viene eseguito, dovrai inserire la tua password (ed essere un amministratore)
  • Se l'utente finale non è un amministratore, ma devi fare qualcosa che richieda l'accesso come root, puoi usarlo su someAdminName, che eseguirà il comando come someAdminName(avrai bisogno della sua password).

Puoi anche vedere qui su Stack Overflow per ulteriori informazioni.


C'è un modo per fare un file di comando per non disconnettersi? Voglio avere un file di comando che apre il terminale con una variabile di percorso predefinita.
Royi,

8

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 dal tipo di comando e dalla necessità o meno dell'intervento dell'utente.

Tuttavia, se stai ricevendo informazioni diagnostiche, ad esempio, puoi avere uno script che lo fa

#!/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 esempi. Tieni presente che qualsiasi output generato verrà inviato alla console (schermo). Tuttavia, è possibile reindirizzare l'output su un file aggiungendo >> /path/to/outputfile.txtalla fine di ciascun comando in modo da disporre di un file che è possibile analizzare una volta terminato l'esecuzione del file.

Puoi nominare il file diagnostics.she posizionarlo dove preferisci. Assicurati di renderlo eseguibile eseguendo il comando chmod +x diagnostics.she utilizzalo ./diagnostics.shper eseguirlo o fai doppio clic su di esso per eseguirlo se viene salvato sul desktop .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.