Làm cách nào để in phần tử mảng của mảng Bash trên các dòng riêng biệt? Cái này hoạt động, nhưng chắc chắn có một cách tốt hơn:Các phần tử mảng in bash trên các dòng riêng biệt
$ my_array=(one two three)
$ for i in ${my_array[@]}; do echo $i; done
one
two
three
thử cái này nhưng nó đã không làm việc:
$ IFS=$'\n' echo ${my_array[*]}
one two three
Và lưu ý, dấu ngoặc kép quanh tham chiếu biến là quan trọng nếu bạn muốn đảm bảo rằng các phần tử có không gian nội bộ không bị phân tách vô tình. – danfuzz
@sputnick: không hoạt động, các phần tử mảng kết thúc trên một dòng –
Bạn có chắc là bạn đã sử dụng '[@]' chứ không phải '[*]'? Nó tạo nên sự khác biệt. – danfuzz