Pytanie:
Jak mogę uruchomić zestaw poleceń terminala jednym kliknięciem?
Ilya Vorobyev
2015-09-06 22:26:04 UTC
view on stackexchange narkive permalink

Mam więc ten program, którego używam do oglądania filmów na moim Apple TV, który działa z mojego Maca w Terminalu i trafia na telewizor. Cóż, kiedy chcesz uruchomić serwer, musisz uruchomić zestaw poleceń w Terminalu.

  $ cd Desktop $ cd PopcornTV $ sudo npm install $ sudo node atv.js  

Te polecenia uruchamiają serwer, z którym łączy się mój Apple TV. Czy mimo wszystko mogę stworzyć aplikację Automatora lub cokolwiek w tym rodzaju, które będą uruchamiać te polecenia po kliknięciu przycisku.

Z pewnością instalacja npm nie musi być uruchamiana więcej niż raz
Pięć odpowiedzi:
Schwertspize
2015-09-07 01:54:33 UTC
view on stackexchange narkive permalink

Uruchomienie go w skrypcie Apple nie jest takie złe. wystarczy uruchomić cały skrypt jako root, ponieważ sudo wymaga interakcji użytkownika. jeśli wykonasz skrypt Apple taki jak ten:

  wykonaj skrypt powłoki "cd ~ / Desktop / PopcornTV && / path / to / npm install && / path / to / node atv.js" z uprawnienia administratora 

zastąp następnie / path / to / npm i / path / to / node danymi wyjściowymi , które npm i który węzeł

otworzy okno dialogowe i poprosi o podanie hasła.

błąd „/ bin / sh: npm: nie znaleziono polecenia” numer 127 http://i.imgur.com/YqDlueN.png
wtedy powinieneś zadzwonić do npm z pełną ścieżką, taką jak / path / to / npm (taka sama w węźle)
Jak nazwać ścieżkę, na przykład gdzie dodać ścieżkę?Przepraszam, jeśli zadaję głupie pytania, jestem w tym trochę nowy.Oto ścieżka do niego / usr / local / lib / node_modules http://i.imgur.com/RIFH1bF.png
jeśli zadzwonisz `który npm`, wyjście będzie wyglądać jak` / usr / local / bin / npm` (o ile wiem, nie jest to prawda, ale jako przykład).jeśli wywołasz `npm` to polecenie zostanie wykonane, ale w skrypcie musisz wywołać to polecenie z` / usr / local / bin / npm` zamiast po prostu `npm` (te ścieżki były tylko przykładem, nie mogę spróbowaćwłaśnie teraz)
forquare
2015-09-07 21:13:52 UTC
view on stackexchange narkive permalink

Rozwiązanie bez używania Automatora:

1. Gromadzenie szczegółów:

  • Jaka jest ścieżka do npm ? Dowiedz się, używając which npm w Terminal.app
  • Jaka jest ścieżka do węzła ? Dowiedz się, używając który węzeł w Terminal.app
  • Jaka jest Twoja nazwa użytkownika? Znajdź używając whoami w Terminal.app

Wszystko to jest ważne, zanotuj wyniki.

2. Konfigurowanie sudo

Skonfigurujmy teraz sudo tak, aby nie wymagało używania hasła dla tych dwóch poleceń.

W Terminalu. app, wprowadź następujące informacje:

  sudo visudo  

Będziesz musiał wprowadzić swoje hasło, ale nie zobaczysz żadnego wpisywania podczas wpisywania. Naciśnij enter po zakończeniu wprowadzania hasła.

Spowoduje to otwarcie pliku / etc / sudoers (prawdopodobnie w vi / vim) naciśnij shift + g , aby przejść na koniec pliku, a następnie naciśnij o , aby wstawić nową linię i rozpocząć wstawianie tekstu, wprowadź następujące informacje:

  # Pozwól mi używać npm i węzła bez hasła nazwa_użytkownika ALL = NOPASSWD: / ścieżka / do / npm / ścieżka / do / węzła  

Będziesz potrzebować aby zastąpić „nazwa użytkownika”, „/ ścieżka / do / npm” i „/ ścieżka / do / węzła” szczegółami zebranymi w sekcji 1”.

Gdy zakończył wprowadzanie tych danych, zapisz i wyjdź, naciskając esc , a następnie wpisując : x , a następnie naciskając enter.

3. Zawijanie go w pliku

Utwórzmy plik, w którym umieścimy te polecenia. W Terminal.app wpisz:

  echo '#! / Bin / bashcd / Users / username / Desktop / PopcornTVsudo / path / to / npm installsudo / path / to / node atv.js '> ~ / Desktop / startPopcornTV.commandchmod 740 ~ / Desktop / startPopcornTV.command  

Ponownie, musisz zastąpić „nazwa użytkownika”, „/ ścieżka / do / npm” i „/ ścieżka / do / węzła” danymi zebranymi w sekcji 1 .

4. Bieganie

Na pulpicie będziesz mieć teraz plik o nazwie startPopcornTV.command (w zależności od ustawień może on nazywać się po prostu startPopcornTV).

Wszystko, co musisz teraz zrobić, to dwukrotnie kliknąć ten plik, a uruchomi on PopcornTV.

DisplayName
2015-09-06 23:00:18 UTC
view on stackexchange narkive permalink

Otwórz edytor Applescript

dodaj to:

  wykonaj skrypt powłoki "cd ~ / Desktop / PopcornTV && / usr / local / bin / npm zainstaluj && / usr / local / bin / node atv.js ”z uprawnieniami administratora  

Zapisz jako aplikację. Po prostu otwórz go, kiedy chcesz biegać.

Przepraszam, to nie zadziałało.http://i.imgur.com/WcfvwVp.png
Musisz dodać „z uprawnieniami administratora” na końcu wiersza AppleScript.
błąd „/ bin / sh: npm: nie znaleziono polecenia” numer 127 [zrzut ekranu] (http://s16.postimg.org/9w8p1dp9x/Yq_Dlue_N.png)
@IlyaVorobyev Gdzie jest „npm”?Czy mógłbyś otworzyć terminal i wpisać `whereis npm;gdzie jest węzeł?Opublikuj wynik.
@DisplayName btw, którego nie ma ...
Nie jestem pewien, czy to masz na myśli, ale to właśnie znalazłem, gdy szukałem npm w Finderze./ usr / local / lib / node_modules http://i.imgur.com/RIFH1bF.png
@llya Vorbyev uruchamia polecenia terminala
Hamza OBEIDAT
2015-09-07 15:06:23 UTC
view on stackexchange narkive permalink

Myślę, że to powinno działać:

  echo "# \ n cd Desktop \ n cd PopcornTV \ n sudo npm install \ n sudo node atv.js" >> ~ / Desktop / startMyServer. polecenie  

następnie uczyń plik poleceń wykonywalnym

  chmod + x ~ / Desktop / startMyServer.command  

ty znajdzie wówczas plik startMyServer.command na pulpicie

basmeyer
2020-01-28 02:05:22 UTC
view on stackexchange narkive permalink

Proszę ... użyj fajnego narzędzia Automator !!!Na miłość boską, macOS nie pojawił się na darmo!

Zatem niezależnie od poleceń terminala, które chcesz wykonać, wykonaj następujące czynności:

  1. Uruchom Automatora (który można znaleźć w folderze Aplikacje)
  2. Wybierz aplikację jako typ i potwierdź, klikając
  3. W Akcjach wybierz Narzędzia i kliknij dwukrotnie lub przeciągnij Uruchom skrypt powłoki do prawego panelu
  4. Skopiuj / wklej lub wprowadź polecenia terminala w pustym miejscu w oknie, możesz pozostawić domyślne wszystkie wartości rozwijane
  5. Sprawdź, czy tego właśnie chcesz za pomocą przycisku Uruchom (symbol odtwarzania)
  6. Idź do Plik> Zapisz ... i wybierz dedykowaną lokalizację do zapisania skryptu Automatora, nadając mu rozpoznawalną nazwę
  7. Utwórz alias do umieszczenia na pulpicie
  8. Gotowe


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...