Ich möchte Nashorn für Shell-Scripting verwenden, aber ich kann das Analog der Bash-Variable $0
nicht finden, die mir den Pfad des laufenden Skripts sagt, damit ich andere starten konnte Skripte, die sich im selben Ordner befinden (dies unterscheidet sich vom Arbeitsverzeichnis).
1
A
Antwort
4
Die in Nashorn JavaScript verfügbaren Werte __DIR__
und __FILE__
helfen Ihnen, einen Ersatz für $0
zu implementieren. Die erste gibt Ihnen das Verzeichnis der aktuellen Datei; Letzteres, der Dateiname.
+0
genial! Danke. –
Verwandte Themen
- 1. #region analog für Eclipse
- 2. Perl __SUB__ analog für Ruby
- 3. Dispatcher.Invoke analog für .net 2.0
- 4. Analog von startActivityForResult für Service
- 5. Laufende jsdom in Nashorn
- 6. C# analog für SQL in Operator
- 7. Nashorn Ineffizienz
- 8. Mutex analog in SQL?
- 9. Was bedeutet 'cd $ {0%/*}' in bash?
- 10. MemoryStream analog in Python
- 11. Verknüpfung "Start In" Analog mit der Registrierung
- 12. bash 0 Pad-Nummern auf Substrings
- 13. Analog von || = operator in elixir
- 14. document.readyState analog für gecko-basierte Browser
- 15. jQuery ": contains()" analog für reine JS
- 16. DirectInput Analog Joystick Bereich
- 17. Bash Scripting - Überprüfen Sie, ob die Bash-Variable 0 ist
- 18. DependencyProperty Analog für WPF MVVM Modell
- 19. Gibt es dh_make analog für RPM-Pakete
- 20. PBEKeySpec C++ analog
- 21. Fitnet-Funktion analog in Octave
- 22. Analog System.Dynamic.ExpandoObject in .NET Core
- 23. Analog System.Security.Permissions in .NET Core
- 24. Analog von `let` in ExUnit
- 25. argv [0] mit Bash sorgfältig nachahmen
- 26. Erstellt Nashorn Javascript "eval" Anweisungen?
- 27. Skript für in bash
- 28. Checkjobs und Autocd in Bash können nicht verwendet werden 0
- 29. Analog für Regex '?' (vorhergehender Eintrag optional) in T-SQL wie?
- 30. Was ist das Analog für .Net InvalidOperationException in Python?
Ich habe etwas ähnliches in einem meiner Projekte getan, es hat im Allgemeinen ziemlich gut funktioniert. Entweder als ein dünner Wrapper auf jjs mit meiner Bibliothek im Klassenpfad https://github.com/yschimke/oksocial/blob/master/src/main/scripts/okshell oder einen Interpreter starten, um ein Skript mit einigen zu starten zusätzlicher Kontext https://github.com/yschimke/oksocial/blob/master/src/main/java/com/bulsupp/oksocial/jjs/JavascriptApiCommand.java –