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ś?
"$@"
. Twojeargv
zadanie zostanie zerwane, jeśli jakikolwiek argument zawiera spacje.