Jak utworzyć plik uniwersalny (skrypt) dla komputera Mac na podstawie kilku poleceń terminalu

20

Mam kilka poleceń terminalu, których używam do rozwiązywania problemów, wpisując je kolejno w oknie terminala.

Te polecenia wymagają podania hasła użytkownika.

Szukam sposobu na utworzenie uniwersalnego pliku (skryptu) za pomocą tych poleceń. Chcę móc uruchomić plik na komputerze Mac, po prostu klikając go dwukrotnie lub przeciągając plik nad ikonę Terminala.

Nigdy wcześniej czegoś takiego nie robiłem. Czy jest jakiś sposób na stworzenie takiego skryptu? Proszę doradź.

0lesya
źródło
Czy chcesz zapytać, czy chcesz uruchomić skrypt bez konieczności wprowadzania hasła przez użytkownika?
Allan
@Allan Chcę uruchomić jeden plik zamiast wielu poleceń . Uruchomienie go bez konieczności wprowadzania hasła przez użytkownika przynajmniej raz byłoby dobre, ale najprawdopodobniej niemożliwe, jeśli się nie mylę.
0lesya
Jest to zdecydowanie możliwe, chyba że musisz zrobić coś, co wymaga administratora - patrz moja odpowiedź poniżej
Cullub

Odpowiedzi:

30

Krótka odpowiedź

.commandSkrypt powinien załatwić sprawę


Krok po kroku

  1. Otwórz TextEdit i utwórz nowy plik
  2. Konwertuj go na zwykły tekst, klikając Format> Utwórz zwykły tekst
  3. Dodaj swoje polecenia, po jednym w wierszu. Na przykład możesz wykonać:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. Uruchom chmod u+x ~/Desktop/myCommandScript.commandw swoim terminalu, gdzie ~/Desktop/myCommandScript.commandjest ścieżka do twojego skryptu. To da terminalowi uprawnienia do uruchomienia pliku.

  5. Jesteś skończony! Kliknij dwukrotnie plik, aby uruchomić. Przeciągnięcie ikony terminala również będzie działać.

Uwagi:

  • Jeśli musisz zrobić coś, co wymaga dostępu do konta root (admin), możesz poprzedzić polecenie sudo. Po uruchomieniu skryptu musisz podać hasło (i być administratorem)
  • Jeśli użytkownik końcowy nie jest administratorem, ale musisz zrobić coś, co wymagało dostępu do konta root, możesz użyć su someAdminName, który wykona polecenie jako someAdminName(będziesz potrzebował jego hasła).

Możesz również zobaczyć tutaj na Przepełnienie stosu, aby uzyskać więcej informacji.

Cullub
źródło
Czy istnieje sposób, aby plik polecenia nie był wylogowywany? Chcę mieć plik poleceń, który otwiera terminal z predefiniowaną zmienną ścieżki.
Royi
8

Skrypt to tylko seria poleceń, więc możesz umieścić go w skrypcie bash.

#!/bin/bash

command 1
command 2
command 3

Teraz wszystko zależy od rodzaju poleceń i tego, czy wymagają interwencji użytkownika.

Jeśli jednak na przykład otrzymujesz informacje diagnostyczne, możesz mieć skrypt, który to robi

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

To tylko przykłady. Należy pamiętać, że wszelkie wygenerowane dane wyjściowe zostaną przesłane do konsoli (ekranu). Można jednak przekierować dane wyjściowe do pliku, dołączając je >> /path/to/outputfile.txtna końcu każdego polecenia, aby uzyskać plik, który można przeanalizować po zakończeniu działania pliku.

Możesz nazwać plik diagnostics.shi umieścić go w dowolnym miejscu. Po prostu upewnij się, że wykonujesz go, wydając polecenie chmod +x diagnostics.shi użyj go ./diagnostics.shdo wykonania lub kliknij dwukrotnie, aby uruchomić, jeśli jest zapisany na pulpicie .

Allan
źródło