Câu trả lời:
Bạn có thể sử dụng định dạng tương tự như đối với bất kỳ mảng nào khác. Để trích xuất các yếu tố thứ 2 và thứ 3 từ đó $@
, bạn sẽ làm:
echo "${@:1:2}"
- -
| |----> slice length
|------> slice starting index
"${@:1:2}"
thực sự mang lại cho tôi các đối số dòng lệnh 1 và 2 . Trong khi đó, cung cấp cho tôi các đối số dòng lệnh đầy đủ và cung cấp cho tôi tên tập lệnh theo sau là các đối số dòng lệnh đầy đủ . "${@:1}"
"${@:0}"
$@
mảng là đối số thứ 1 và thứ 2. "${@:1}"
sẽ in toàn bộ mảng bắt đầu bằng phần tử thứ 2 (đối số thứ 1) và ${@:0}
toàn bộ mảng bắt đầu từ phần tử thứ 1 là tên của tập lệnh. Bạn đã mong chờ điều gì?
"$@"
. Bạnargv
gán sẽ phá vỡ nếu bất kỳ đối số chứa không gian.