Để in các giá trị trong dòng khác nhau trong tập lệnh vỏ thư


1

Dưới đây là mã để in nội dung của các tệp có trong thư mục Nội dung tệp là:

apple 
banana 
grapes 
mango

tên = ()

FILES=/path_to_dir/*
for f in $FILES
do
   names+=($f)
done
result="$(cat ${names[@]})"
echo "$result"

echo "The  names are "$result"" | mailx -s "names are " abc@gmail.com

Đối với điều này, tôi nhận được dưới đầu ra cho biến kết quả

apple 
banana 
grapes 
mango

Tuy nhiên, khi tôi in "$ result" trong email, tôi đã nhận được dưới mức đầu ra trong văn bản của email:

apple banana grapes mango

Tôi muốn gửi tên trong email với nhiều dòng như thế này:

apple 
banana 
grapes 
mango

Làm thế nào để đạt được như nhau?

Câu trả lời:


0

Thử với echo -e "The names are:\n" "$result"

Các -etùy chọn cho phép dấu xuống dòng \ngiải thích; biến sau đó được mở rộng chính xác, bằng cách có dấu ngoặc kép riêng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.