Odpowiedzi:
Możesz użyć tego samego formatu, co dla dowolnej innej tablicy. Aby wyodrębnić 2. i 3. element $@, wykonaj:
echo "${@:1:2}"
- -
| |----> slice length
|------> slice starting index
"${@:1:2}"faktycznie dostarcza mi argumentów z pierwszej i drugiej linii poleceń . Tymczasem "${@:1}"daje mi pełne argumenty wiersza poleceń i "${@:0}"podaje nazwę skryptu, a następnie pełne argumenty wiersza poleceń .
$@ tablicy to pierwszy i drugi argument. "${@:1}"wypisze całą tablicę zaczynając od 2. elementu (1. argument) i ${@:0}całą tablicę zaczynając od 1. elementu, który jest nazwą skryptu. Czego się spodziewałeś?
"$@". Twojeargvzadanie zostanie zerwane, jeśli jakikolwiek argument zawiera spacje.