sách gpt4 ai đã đi

Sự khác biệt giữa echo "${array[@]}" và echo "${array[*]}" trong bash là gì?

In lại 作者:行者123 更新时间:2023-11-29 09:47:28 28 4
mua khóa gpt4 Nike

Tôi sử dụng echo "${array[@]}"echo "${array[*]}" 得到了相同的结果。
如果我这样做:
mkdir 假音乐; touch fakemusic/{Beatles,Stone,Ramones,Doors}{001..199}; cd fakemusic.
Sau đó_msc=(*)
这两个命令给我相同的输出:

echo "${_msc[@]}"  
echo "${_msc[*]}"

那么它们之间有什么区别。

1 Câu trả lời

Shell 将 "${_msc[@]}" 展开为单独的字符串,同时将 "${_msc[*]}" 展开为单个字符串,默认情况下,项目以空格分隔。您看不出 tiếng vọng 的区别,因为它也使用空格作为分隔符。以下是 inf 的示例:

$ printf "%s;%s;%s\n" "${_msc[@]}"
a;b;c
$ printf "%s;%s;%s\n" "${_msc[*]}"
a b c;;

shell 变量IFS 控制使用哪个字符作为分隔符。如果你改变它,你也可以看到 tiếng vọng 的区别:

$ IFS='|'
$ echo "${_msc[*]}" # shell expands to a single string
a|b|c
$ echo "${_msc[@]}" # shell expands to a separate string
a b c

关于arrays - bash中echo "${array[@]}"echo "${array[*]}"有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28980907/

28 4 0
Bài viết được đề xuất: mysql - SQL:使用日期计算每天的总变化
Bài viết được đề xuất: bash - 在 bash 中检查输入是否为数字
Bài viết được đề xuất: bash - 如何在 unix 中使用 if 条件比较字符串
Bài viết được đề xuất: bash - Centos 6.6 postgresql错误: cannot execute binary file
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
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