在郵件正文 shell 腳本中的不同行中列印值

在郵件正文 shell 腳本中的不同行中列印值

下面是列印目錄中存在的文件內容的程式碼檔案內容是:

apple 
banana 
grapes 
mango

名稱=()

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 " [email protected]

為此,我得到以下結果變數的輸出

apple 
banana 
grapes 
mango

但是,當我在電子郵件中列印“$result”時,我在電子郵件文字中得到以下輸出:

apple banana grapes mango

我想用多行電子郵件發送姓名,如下所示:

apple 
banana 
grapes 
mango

如何達到同樣的效果?

答案1

嘗試用echo -e "The names are:\n" "$result"

-e選項允許換行符\n解釋;然後透過擁有自己的雙引號來正確擴展變數。

相關內容