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

Ho diversi comandi di Terminale che uso per la risoluzione dei problemi, digitandoli uno per uno nella finestra del terminale.

Questi comandi richiedono linserimento della password dellutente.

Sto cercando un modo per creare un file (script) universale 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 sullicona del Terminale.

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

Commenti

  • Vuoi dire che vuoi eseguire uno script senza che lutente inserisca la loro password?
  • @Allan Voglio eseguire un file invece di più comandi . Eseguirlo senza che lutente immetta la password almeno una volta sarebbe utile, ma molto probabilmente impossibile se ' non mi sbaglio.
  • Questo ' è sicuramente possibile a meno che tu non debba fare qualcosa che richiede un amministratore – vedi la mia risposta sotto
  • Forse non è esattamente quello che ' re dopo, ma lho trovato molto efficace. Puoi utilizzare alias ad es. alias ns="sudo netstat -tulpn". Potresti anche metterli nelle @reboot righe su Crontab se li volessi ad ogni avvio. Ora posso semplicemente digitare ns. Beatitudine.

Risposta

Risposta breve

A .command lo script dovrebbe fare il trucco


Passo dopo passo

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

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

  5. Fatto! Fai doppio clic sul file per eseguirlo. Anche il trascinamento sullicona del terminale funzionerà.

Note:

  • Se devi fare qualcosa che richiede laccesso root (amministratore), puoi anteporre al tuo comando sudo. Quando lo script viene eseguito, dovrai inserire la tua password (ed essere un amministratore)
  • Se lutente finale non è un amministratore, ma devi fare qualcosa che richiede laccesso come root, puoi usare su someAdminName, che eseguirà il comando come someAdminName (ti servirà la sua password).

Puoi anche vedere qui su Stack Overflow per ulteriori informazioni.

Commenti

  • Cè un modo per fare in modo che un file di comando non si disconnetta? Voglio un file di comando che apra il terminale con una variabile di percorso predefinita.

Risposta

Uno script è solo una serie di comandi, quindi potresti inserirli in uno script bash.

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

Ora, tutto dipende dai loro tipi di comando e dal fatto che richiedono lintervento dellutente.

Tuttavia, se ad esempio stai ricevendo informazioni diagnostiche, puoi avere uno script che 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 degli esempi . Tieni presente che qualsiasi output generato verrà inviato alla console (schermo). Tuttavia, puoi reindirizzare loutput a un file aggiungendo >> /path/to/outputfile.txt alla fine di ogni comando in modo da avere un file che puoi analizzare al termine dellesecuzione del file.

Puoi denominare il file diagnostics.sh e posizionarlo dove preferisci. Assicurati solo di renderlo eseguibile immettendo il comando chmod +x diagnostics.sh e utilizza ./diagnostics.sh per eseguirlo oppure fai doppio clic su di esso per eseguirlo se è stato salvato sul desktop .

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *