메일 본문 셸 스크립트에서 다른 줄로 값을 인쇄하려면 존재하는 파일의 내용을

다음은 디렉토리에 존재하는 파일의 내용을 인쇄하는 코드입니다. 파일 내용은 다음과 같습니다.

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 " abc@gmail.com

이를 위해 결과 변수의 출력이 아래에 표시됩니다.

apple
banana
grapes
mango

그러나 이메일에 “$ result”를 인쇄하면 이메일 텍스트의 출력이 아래에 표시됩니다.

apple banana grapes mango

다음과 같이 여러 줄로 이메일로 이름을 보내려고합니다.

apple
banana
grapes
mango

같은 것을 달성하는 방법?



답변

함께 시도 echo -e "The names are:\n" "$result"

-e옵션은 개행 부호 \n해석을 허용합니다 . 변수는 자체 큰 따옴표를 사용하여 올바르게 확장됩니다.


답변