메일 본문 쉘 스크립트에서 다른 줄에 값을 인쇄하려면

메일 본문 쉘 스크립트에서 다른 줄에 값을 인쇄하려면

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

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해석을 허용합니다. 그런 다음 변수는 자체 큰따옴표를 사용하여 올바르게 확장됩니다.

관련 정보