Bash
如何加入每個字元串都有空格的字元串數組?
我的 bash 腳本:
#!bin/bash MY_ARRAY=("Some string" "Another string") function join { local IFS="$1"; shift; echo -e "$*"; } join "," ${MY_ARRAY[@]}
我希望輸出為:
Some string,Another string
.相反,我得到
Some,string,Another,string
.我必須改變什麼才能得到我想要的結果?
我修改後的腳本版本:
#!bin/bash my_array=("Some string" "Another string") my_join() { [ "$#" -ge 1 ] || return 1 local IFS="$1" shift printf '%s\n' "$*" } my_join , "${my_array[@]}"
筆記:
不要使用大寫的變數名
join
是標準工具。使用不同的名稱。使用引用
使用
printf
,而不是echo