Mam dwa skrypty Bash. Skrypty nadrzędne wywołują indeks dolny, aby wykonać pewne akcje i zwrócić wartość. Jak mogę zwrócić wartość z indeksu dolnego do skryptu nadrzędnego? Dodanie return
w indeksie dolnym i przechwycenie wartości w obiekcie nadrzędnym nie działa.Bash - Wartość zwracana z indeksu dolnego do skryptu macierzystego
Odpowiedz
Zakładam, że te skrypty działają w dwóch różnych procesach, tj. nie "pozyskujesz" jednego z nich.
To zależy od tego, co chcesz zwrócić. Jeśli chcesz tylko zwrócić kod wyjścia z przedziału od 0 do 255, a następnie:
# Child (for example: 'child_script')
exit 42
# Parent
child_script
retn_code=$?
Jeśli chcesz powrócić ciąg tekstowy, a następnie trzeba będzie to zrobić poprzez standardowe wyjście (lub pliku). Istnieje kilka sposobów na przechwytywanie, że najprostsze jest:
# Child (for example: 'child_script')
echo "some text value"
# Parent
retn_value=$(child_script)
Czy metoda echa zwraca wszystko, co było echo w skrypcie podrzędnym lub w ostatniej linii? –
@AakilFernandes: w tym przypadku 'echo' zapisuje podaną linię:" trochę wartości tekstowej "w przykładzie. Jednak rodzic przechwytuje wszystkie standardowe wyjście z potomka, niezależnie od tego, czy pochodzi ono z "echa" czy nie. Może to być wiele linii oddzielonych znakami nowej linii '$ '\ n'' – cdarke
zwraca wartość z indeksu dolnego i sprawdza zmienną $? które zawierają wartość zwracaną
„powrót” jest tutaj niejednoznaczna, ponieważ instrukcja 'return' może być użyta tylko do powrotu z funkcji, a nie ze skryptu. Aby być precyzyjnym, musisz użyć instrukcji 'exit', aby powrócić ze skryptu. – chepner
@chepner: właściwie 'return' może być również użyty z pliku" źródłowego "(' .' lub 'source'), ale czy to jest skrypt? – cdarke
Ah, podchwytliwe. Domyślam się, że właściwą odpowiedzią jest "use" return' lub 'exit' w razie potrzeby". – chepner
- 1. Poprawienie pozycjonowania indeksu dolnego i indeksu górnego na etykietach węzłów
- 2. Wartość zwracana z chrome.tabs.executeScript
- 3. Lua os.execute wartość zwracana
- 4. Wartość zwracana z sql skrypt powłoki skrypt
- 5. Wartość zwracana z podpowłoki i wyjście do zmiennych lokalnych
- 6. Nieoczekiwana wartość zwracana z fread()
- 7. Scala wartość zwracana z onComplete
- 8. Pierwsze wartość zwracana z Task.Run
- 9. Wartość okna wyskakującego wartość zwracana
- 10. wartość zwracana Mybatis
- 11. zachowanie sscanf/wartość zwracana
- 12. Przekazywanie zmiennych bash do skryptu?
- 13. Wartość zwracana okna WPF
- 14. Wartość zwracana x = os.system (..)
- 15. wartość zwracana po obietnicy
- 16. uint32_t wartość zwracana destructor
- 17. „sys.getrefcount()” wartość zwracana
- 18. Wykonywanie skryptu Bash z Golang
- 19. Jquery wartość zwracana
- 20. Uruchomienie skryptu bash z java
- 21. Niespokojność skryptu Bash z pwd
- 22. jQuery getJSON - Wartość zwracana do funkcji dzwoniącego
- 23. Wartość zwracana z klasy AsyncTask metoda onPostExecute
- 24. Wartość zwracana z funkcji zagnieżdżonych w JavaScript
- 25. AJAX jQuery PHP Wartość zwracana
- 26. Ocena WKWebView JavaScript wartość zwracana
- 27. "zwracana wartość" z wyjątku Konstruktora w Javie?
- 28. Zwracana wartość podczas korzystania cProfile
- 29. parametry skryptu bash
- 30. Wartość zwracana procesu w tle
Spójrz na to odpowiedź od wczoraj: http://stackoverflow.com/a/16325765/1983854 - może bardzo pomóc – fedorqui