Antworten:
Sie können dasselbe Format wie für jedes andere Array verwenden. Um das 2. und 3. Element aus zu extrahieren $@
, würden Sie Folgendes tun:
echo "${@:1:2}"
- -
| |----> slice length
|------> slice starting index
"${@:1:2}"
mir in Bash 4.2.46 tatsächlich die 1. und 2. Befehlszeilenargumente . In der Zwischenzeit "${@:1}"
erhalte ich die vollständigen Befehlszeilenargumente und "${@:0}"
den Skriptnamen, gefolgt von den vollständigen Befehlszeilenargumenten .
$@
Arrays sind das 1. und 2. Argument. "${@:1}"
Gibt das gesamte Array aus, beginnend mit dem 2. Element (dem 1. Argument) und ${@:0}
das gesamte Array beginnend mit dem 1. Element, das der Name des Skripts ist. Was hast du erwartet?
"$@"
. Ihreargv
Zuweisung würde brechen, wenn irgendwelche Argumente Leerzeichen enthalten.