Jawaban:
Anda dapat menggunakan format yang sama dengan array lainnya. Untuk mengekstrak elemen ke-2 dan ke-3 $@, Anda harus melakukan:
echo "${@:1:2}"
- -
| |----> slice length
|------> slice starting index
"${@:1:2}"sebenarnya memberi saya argumen baris perintah 1 dan 2 . Sementara itu, beri saya argumen baris perintah penuh , dan beri saya nama skrip diikuti oleh argumen baris perintah penuh . "${@:1}""${@:0}"
$@ array adalah argumen ke-1 dan ke-2. "${@:1}"akan mencetak seluruh array yang dimulai dengan elemen ke-2 (argumen ke-1) dan ${@:0}seluruh array mulai dari elemen ke-1 yang merupakan nama skrip. Apa yang kamu harapkan?
"$@".argvTugas Anda akan pecah jika ada argumen yang berisi spasi.