2017-09-26 13 views
0

다음 명령을 사용하여 내 서버에서 사용 된 디스크 공간을 캡처하고 var 공간에 저장합니다. echo "$space" 유입되는 명령 라인에서 BASH - 메시지 출력에 줄 바꿈 포함

space=`cd /users/; du -hs * | sort -h;` 

라인과 정확한 결과 출력 피드를 나타낸다.

나는 이것을 나 자신에게 이메일로 보내려고 노력하고있다. 이메일은 잘 보내지 만, du 출력은 모두 bash 프롬프트에서와 같이 한 줄에 새 줄이 아닌 한 줄로 나타난다.

이것은 내 메일 본문이며 어떻게 사용하려고합니까 space.

작동하지만 출력이 명령 줄에서 실행될 때처럼 표시되지 않습니다.

mailbody="$server_name - Server disk usage is at ${current_usage}. ${space}" 

예 : 나는

Test Server - Server disk usage is at 40%. 
1.1G jon 
1.1G paul 
1.9G ringo 

내가 그렇게 할 수있는 방법 어떤 생각을 좀하고 싶습니다

Test Server - Server disk usage is at 40%. 1.1G jon 1.1G paul 1.9G ringo 

를 얻을?

감사

+1

''$ mailbody "'을 인용 하시겠습니까? –

+0

다음을 사용합니다 :'echo $ {mailbody} | mail -s "$ server_name" "$ {mail}"- -f "$ {from}"메일 본문을 인용해야합니까? – Rocket

+3

@glennjackman은 echo를 "echo -e"$ {mailbody} "로 수정 해 주셔서 감사합니다. – Rocket

답변

-1

솔루션은 다음과 같습니다

space=$`cd /users/; du -hs * | sort -h;` 

$ 확장은 ANSI-C 표준 코드를 만든다. 양식 공급 및 경고조차도 작동합니다.

+0

문제가 해결되지 않았습니다. 아마도'$ ''... \''이 아닌'$'... ''을 의미 할 것입니다. –