Từ câu trả lời anishsane và những ý kiến trong đó bây giờ chúng tôi biết những gì bạn muốn. Đây là điều tương tự theo kiểu bashier, sử dụng vòng lặp for. Xem Looping Constructs section in the reference manual. Tôi cũng đang sử dụng printf
thay vì echo
.
#!/bin/bash
array=("Vietnam" "Germany" "Argentina")
array2=("Asia" "Europe" "America")
for ((i=0;i<${#array[@]};++i)); do
printf "%s is in %s\n" "${array[i]}" "${array2[i]}"
done
Một khả năng khác là sử dụng một mảng kết hợp:
#!/bin/bash
declare -A continent
continent[Vietnam]=Asia
continent[Germany]=Europe
continent[Argentina]=America
for c in "${!continent[@]}"; do
printf "%s is in %s\n" "$c" "${continent[$c]}"
done
Tùy thuộc vào những gì bạn muốn làm, bạn cũng có thể xem xét khả năng thứ hai này. Nhưng lưu ý rằng bạn sẽ không dễ dàng kiểm soát thứ tự các trường được hiển thị trong khả năng thứ hai (tốt, đó là một mảng kết hợp, do đó, nó không thực sự là một bất ngờ).
Nguồn
2013-07-01 17:10:44
I ** GUESS ** đây là điều bạn muốn. – anishsane
THANKS !!! Làm việc hoàn hảo !!!! – user2354862
@ user2354862 Nếu có, bạn nên [chấp nhận câu trả lời] (http://meta.stackexchange.com/a/5235). –