używam powłoki bash na Linux i chcą korzystać z ponad 10 parametrów w skrypcie powłokiJak obsługiwać więcej niż 10 parametrów w łupinach
Odpowiedz
Użyj nawiasów klamrowych, aby ustawić je:
echo "${10}"
You można również iteracyjne nad parametrów pozycyjnych tak:
for arg
lub
for arg in "[email protected]"
lub
while (($# > 0)) # or [ $# -gt 0 ]
do
echo "$1"
shift
done
i spróbuj 'help shift' –
Pamiętaj, że $ {10} będzie działać w bashu, ale ograniczy twoją przenośność, ponieważ wiele implementacji sh zezwala tylko na jednocyfrowe specyfikacje. –
@William: Istnieje kilka skorup, które go nie zaakceptują, takie jak oryginalna starsza skorupa Bourne'a, ale oprócz powłok wymienionych w innym komentarzu (Bash, dash, ksh i zsh), działa również w csh, popiół tcsh i Busybox. –
Można mieć maksymalnie 255 parametrów z:
${255}
Myślę, że ten limit zależy od powłoki. Bash, dash, ksh i zsh wydają się nie mieć tego. 'sh -c 'echo $ {333}'/usr/bin/*' –
Moja powłoka wygodnie idzie do 2 milionów 'set $ (seq 2097152); echo $ {2097152} ' –
- 1. luabind - funkcje z więcej niż 10 argumentami
- 2. Dlaczego ta klasa przypadku może przechowywać więcej parametrów niż deklaruje?
- 3. Jak uzyskać dostęp do więcej niż 10 elementów w aplikacji Amazon za pomocą php?
- 4. Używanie więcej niż jednego `scale_fill_` w` ggplot2`
- 5. pliki std :: fstream więcej niż 2 gb
- 6. C# test jednostkowy, jak przetestować więcej niż
- 7. Jak mogę skompresować więcej niż dwa iteratory?
- 8. Mysqldump więcej niż jeden stół?
- 9. ponowne BackgroundWorker więcej niż raz
- 10. Jak wymienić więcej niż jeden raz?
- 11. więcej niż 9 wątków w matplotlib
- 12. W datatable więcej niż 10 rekordów pokazuje paginację inaczej nie wyświetlać stronicowania przy użyciu datatables
- 13. UITabBarController - więcej niż 20 wyświetleń
- 14. Android - bindService więcej niż raz
- 15. występuje więcej niż jeden modalview w appdelegate
- 16. Jak używać więcej niż jednego wyrażenia z rzędu
- 17. Eksportuj więcej niż jedną zmienną w ES6?
- 18. Jak filtrować w więcej niż jednej kolumnie w tabeli ng2?
- 19. Narysuj funkcję w ggplot2 z więcej niż x jako parametr
- 20. Android Ocena Wyświetl więcej niż 5 gwiazdek
- 21. CXF JAXRS - jak POST więcej niż jeden parametr
- 22. PostgreSQL UNION zajmuje 10 razy więcej czasu niż uruchamianie indywidualnych zapytań
- 23. Jak zwrócić więcej niż jedną wartość z funkcji w Pythonie?
- 24. Android - jak załadować więcej niż 20mb obrazu w widoku obrazu
- 25. Jak mogę mieć więcej niż 9 obszarów roboczych w Xmonad?
- 26. Jak wykonać więcej niż jedno polecenie maven w pliku bat?
- 27. Jak przesłać więcej niż 100 plików na raz w github?
- 28. Jak obsługiwać duże siatki?
- 29. Dartlang czekaj więcej niż jedną przyszłość
- 30. JME3 - Rozpryskiwanie więcej niż trzech tekstur
Należy pamiętać, że mając 10 parametrów uczynią to dość kłopotliwe. Być może lepiej byłoby zamiast tego użyć opcji (np. '-a 1' lub' --foo = bar'). Zobacz 'man getopt',' man getopts' i 'man bash', aby uzyskać opcje. – Mikel
Ponadto, jeśli wszystko, co chcesz zrobić, to przekazać wszystkie opcje do innego polecenia, możesz użyć '" $ * "' lub '" $ @ "', ale zauważ, że '" $ @ "' jest lepsze, ponieważ robi to dobra rzecz z białymi znakami. – Mikel