Cum se creează un fișier universal (script) pentru un Mac, bazat pe mai multe comenzi Terminal

Am mai multe comenzi Terminal pe care le folosesc în scopuri de depanare, tastându-le pe rând în fereastra terminalului.

Aceste comenzi necesită introducerea parolei utilizatorului.

Caut o modalitate de a crea un fișier universal (script) cu aceste comenzi. Vreau să pot rula fișierul pe un Mac doar făcând dublu clic pe el sau glisând fișierul peste pictograma Terminal.

Nu am mai făcut așa ceva până acum. Există vreo modalitate de a crea un astfel de script? Vă rugăm să ne informați.

Comentarii

  • Adică să cereți să doriți să rulați un script fără ca utilizatorul să intre parola lor?
  • @Allan Vreau să rulez un fișier în loc de mai multe comenzi . Executarea acestuia fără ca utilizatorul să-și introducă parola cel puțin o dată ar fi bine, dar cel mai probabil este imposibil dacă ' nu mă înșel.
  • Că este cu siguranță posibil, cu excepția cazului în care trebuie să faceți ceva care necesită administrator – vedeți răspunsul meu mai jos
  • Poate că nu exact ceea ce ' după, dar mi s-a părut foarte eficient. Puteți utiliza alias de ex. alias ns="sudo netstat -tulpn". Puteți chiar să le puneți în @reboot linii pe Crontab dacă le-ați dori la fiecare boot. Acum pot tasta doar ns. Fericire.

Răspuns

Răspuns scurt

A .command scriptul ar trebui să facă trucul


Pas cu pas

  1. Deschideți TextEdit și creați un fișier nou
  2. Convertiți trimiteți-l la text simplu făcând clic pe Format> Creați text simplu
  3. Adăugați comenzile dvs., câte una pe fiecare linie. De exemplu, puteți face:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. Rulați chmod u+x ~/Desktop/myCommandScript.command în terminalul dvs., unde ~/Desktop/myCommandScript.command este calea către scriptul dvs. Aceasta va permite terminalului permisiunea de a rula fișierul.

  5. Ați terminat! Faceți dublu clic pe fișier pentru a rula. Trecerea peste pictograma terminalului va funcționa și.

Note:

  • Dacă trebuie să faceți ceva care necesită acces root (administrator), puteți prefixa comanda cu sudo. Când rulează scriptul, va trebui să introduceți parola (și să fiți administrator)
  • Dacă utilizatorul final nu este administrator, dar trebuie să faceți ceva care necesită acces root, puteți utiliza su someAdminName, care va executa comanda ca someAdminName (veți avea nevoie de parola lui).

Puteți vedea, de asemenea, aici pe Stack Overflow pentru mai multe informații.

Comentarii

  • Există o modalitate de a crea un fișier de comandă pentru a nu vă deconecta? Vreau să am un fișier de comandă care deschide terminalul cu variabila de cale predefinită.

Răspuns

Un script este doar o serie de comenzi, astfel încât să o puteți pune într-un script bash.

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

Acum, totul depinde de tipul lor de comandă și dacă este sau nu necesită intervenția utilizatorului.

Cu toate acestea, dacă primiți informații de diagnostic, de exemplu, puteți avea un script care să aibă

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

Acestea sunt doar exemple . Rețineți că orice ieșire generată va fi trimisă pe consolă (ecran). Cu toate acestea, puteți redirecționa ieșirea către un fișier adăugând >> /path/to/outputfile.txt la sfârșitul fiecărei comenzi, astfel încât să aveți un fișier pe care să îl puteți analiza odată ce fișierul a fost rulat.

Puteți denumi fișierul diagnostics.sh și îl puteți plasa oriunde doriți. Asigurați-vă că îl executați prin emiterea comenzii chmod +x diagnostics.sh și utilizați ./diagnostics.sh pentru a-l executa sau faceți dublu clic pe acesta pentru al rula dacă este salvat pe desktop .

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *