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
Risposta
Risposta breve
A .command
lo script dovrebbe fare il trucco
Passo dopo passo
- Apri TextEdit e crea un nuovo file
- Converti in testo normale facendo clic su Formato> Trasforma in testo normale
-
Aggiungi i tuoi comandi, uno per riga. Ad esempio, potresti:
#! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder
-
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. - 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 comesomeAdminName
(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 .
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 digitarens
. Beatitudine.