web-dev-qa-db-ja.com

メール本文の別の行に値を出力するにはシェルスクリプト

以下は、ディレクトリに存在するファイルの内容を印刷するためのコードです。ファイルの内容は次のとおりです。

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
user

echo -e "The names are:\n" "$result"でお試しください

-eオプションを使用すると、改行記号\nの解釈が可能になります。次に、変数は独自の二重引用符を使用して正しく展開されます。

0
SΛLVΘ