sách gpt4 ai đã đi

mảng bash sử dụng @ so với *, sự khác biệt giữa hai

In lại Tác giả: Space Dog Thời gian cập nhật: 2023-10-29 11:31:03 27 4
mua khóa gpt4 Nike

Tôi không thể tìm ra sự khác biệt chính xác giữa việc sử dụng ${array[@]} và ${array[*]}

Những gì tôi thấy là sự khác biệt khi in, nhưng tôi đoán là còn nhiều điều hơn thế nữa

khai báo -một mảng
mảng=("1" "2" "3")
IFS=","
printf "%s" ${mảng[@]}
printf "%s" ${mảng[*]}
IFS=" "

Tôi đã tìm kiếm nó trên TLDP nhưng không tìm ra. Đây có phải là lệnh bash chung hay chỉ dành cho mảng? Cảm ơn bạn rất nhiều!

1 Câu trả lời

giống người đàn ông đập phá Như đã nêu trong:

Nếu từ được trích dẫn kép, ${tên[*]} mở rộng thành một từ duy nhất với giá trị của mỗi thành viên mảng được phân tách bằng ký tự đầu tiên của IFS biến đặc biệt, và ${tên[@]}mở rộng mỗi thành phần của tên thành một từ riêng biệt.

ví dụ:

mảng=("1" "2" "3")
printf "'%s'" "${mảng[*]}"
'1 2 3'
printf "'%s'" "${mảng[@]}"
'1''2''3'

Liên quan đến linux - mảng bash sử dụng @ so với *, sự khác biệt giữa hai mảng này, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/52590446/

27 4 0
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com