Czy istnieje sposób uruchamiania poleceń systemu Linux z javascript, który korzysta z autonomicznego interpretera (coś podobnego do SpiderMonkey, powłoki JavaScript)?Interpreter JavaScript dla systemu Linux
Odpowiedz
Rhino oferuje interpreter JavaScript napisany w Javie, który można wywołać z wiersza poleceń. Jeśli potrzebujesz emulatora przeglądarki, spróbuj Envjs.
Rhino nie może wykonać polecenia, ale można użyć org.mozilla.javascript.ScriptableObject.defineFunctionProperties()
zdefiniować nową funkcję, która wywołuje pewne kodu Java, w którym można utworzyć nowy proces przy użyciu ProcessBuilder
[edytuj] Od JavaScript jest językiem interpretowanym, ty potrzebuję tłumacza. Aby uruchomić tłumacza, potrzebny jest inny język. Linux nie ma wbudowanego (tak jak w przypadku skryptów powłoki lub podobnych).
Jeśli potrzebujesz skryptowania, użyj Bash lub (dla bardziej złożonych skryptów) Python.
Nie potrzebuję emulatora przeglądarki. Wszystko, co chcę zrobić, to uruchomić plik javascript (za pomocą interpretatora), który uruchamia niektóre polecenia linuksowe. Czy można to zrobić? A także wolałbym nie polegać na Javie, ponieważ mój plik javascript powinien wykonać pewne instalacje na moim komputerze z Linuksem. Nie wiem, czy moje pytania są jasne, ale zaproponowano mi użycie javascript do tego, a ja nie wiem jak. – Madalina
Ponieważ JavaScript jest językiem interpretowanym, potrzebujesz tłumacza. Aby uruchomić tłumacza, potrzebny jest inny język. –
* "Aby uruchomić tłumacza, potrzebny jest inny język". * Nie, nie potrzebujesz innego * języka *. Potrzebujesz tylko silnika JavaScript. V8 (silnik Google'a JavaScript), na przykład, jest skompilowanym plikiem wykonywalnym. Nie potrzebujesz innego środowiska uruchomieniowego języka (Python, JVM, perl, cokolwiek), aby go uruchomić. –
Możliwe jest zdefiniowanie funkcji JS, które będą wywoływać twoje funkcje C/C++, które mogą używać wywołania system()
, wykonując niektóre polecenia linuksowe.
spider monkey w sposób: https://developer.mozilla.org/en/JavaScript_C_Engine_Embedder „s_Guide # Native_functions
Google V8 jest także opcja: http://code.google.com/apis/v8/embed.html#accesssors
Więc trzeba
system('rpm -i myapp.rpm');
system('rpm -i myapp2.rpm');
czy może
Tak, muszę uruchomić coś podobnego do systemu ("rpm -i myapp.rpm"), ale bezpośrednio z Javascript, ponieważ nie mogę polegać na innych językach, takich jak C++ lub Java. – Madalina
Możesz użyć NodeJS. Ma moduł child_process, który może uruchamiać dowolne polecenia. NA PRZYKŁAD. child_process.spawn()
Gdy skrypt jest gotowy go uruchomić tak:
node myscript.js
- 1. syslog_r dla systemu Linux?
- 2. Słuchacz portu szeregowego Linux i interpreter?
- 3. Perfmon-like dla systemu Linux?
- 4. Emulator BlueStacks dla systemu Linux?
- 5. Alternatywa TextMate dla systemu Linux
- 6. Kompilator/interpreter BCPL dla aktualnego systemu operacyjnego i architektury?
- 7. HeapCreate, HeapAlloc w systemie Linux, prywatny przydział dla systemu Linux
- 8. Co byłoby getDesktopProperty() dla systemu Linux?
- 9. Emulator Windows Mobile dla systemu Linux
- 10. Okna Beep() odpowiednik dla systemu Linux
- 11. Odpowiednik Dependency Walker dla systemu Linux?
- 12. Dobry, mały kompilator Haskell dla systemu Linux?
- 13. Filtrowanie wyjściowego polecenia dla systemu Linux
- 14. Sterownik dla systemu Linux: ioctl lub sysfs?
- 15. Scriptable JavaScript interpreter z powiązaniami dla PHP lub Python?
- 16. Lepsza powłoka systemu Linux?
- 17. ustaw ipython jako interpreter dla pydev
- 18. Wykrywanie systemu Windows lub Linux?
- 19. Linii i pętli systemu Linux
- 20. ocaml interpreter
- 21. Udostępniane dane dla systemu Linux i Mac OS X
- 22. Jak ustawić funkcję CAP_SYS_NICE dla użytkownika systemu Linux?
- 23. Polecenie dla systemu Linux określające procent wolnej pamięci
- 24. Niestandardowy GUI dla systemu Linux: od czego zacząć?
- 25. Polecenie dla systemu Linux do translacji nazwy domeny na IP
- 26. Komendy dla systemu Linux - przerwać operację z limitem czasu
- 27. Skrypty międzyplatformowe dla systemu Windows, Linux, MacOS X
- 28. Kompilacja krzyżowa biblioteki statycznej z systemu Linux dla Windows
- 29. Jak zbudować projekt Visual C++ dla systemu Linux?
- 30. Zmiana przechwytywania w aktywnym oknie (dla systemu Linux)
Dlaczego nie napiszesz tego w bash? – oneat
Tak, to była pierwsza opcja, ale ktoś zasugerował mi użycie javascript, więc dlatego zastanawiam się, czy to możliwe, czy nie. :) – Madalina