Tôi muốn thực hiện tương đương với:
list=()
while read i; do
list+=("$i")
done <<<"$input"
với
IFS=$'\n' read -r -a list <<<"$input"
Tôi đang làm gì sai?
input=`/bin/ls /`
IFS=$'\n' read -r -a list <<<"$input"
for i in "${list[@]}"; do
echo "$i"
done
Điều này sẽ in một danh sách /
, nhưng tôi chỉ nhận được mục đầu tiên.
ls
, đừng. Sử dụnglist=(/*)
.