2014-11-05 2 views
0

쉘 스크립트에서 전자 메일 첨부 파일로 여러 파일을 보내려면 requiremnet이 있어야합니다. 아래 명령을 사용했습니다.mailx를 사용하여 전자 메일에서 첨부 파일로 여러 파일 보내기

(printf "%s\n" "BODY"; uuencode out.txt out.txt ; uuencode asgda.txt asgda.txt) | mailx -m -s "TEST" [email protected] 

그러나 attachmnet으로 보내려는 파일의 수가 동적입니다. 그래서 uuencode ... comand를 변수에 할당하고 사용하고 싶습니다. 아래에서 시도했습니다.

$ ATTACH_CMD=$(echo `cat $OUTPUT_FILE`) 
$ echo $ATTACH_CMD 
uuencode out.txt out.txt ; uuencode asgda.txt asgda.txt 

$ (printf "%s\n" "BODY"; $ATTACH_CMD) | mailx -m -s "TEST" [email protected] 

그리고 아래 오류가 발생합니다.

sh: uuencode out.txt out.txt ; uuencode asgda.txt asgda.txt: not found. 

아무도 도와 드릴 수 있습니까? 미리 감사드립니다.

+0

나는 다음 시도 오늘합니다 - $가 $ 에코 (에코 $ ATTACH_CMD) UUENCODE out.txt out.txt; uuencode out.txt out.txt (printf "% s \ n" "BODY"; $ (echo $ ATTACH_CMD)) | mailx -m -s "TEST"[email protected] 전자 메일을 받았지만 첨부 파일을받지 못했습니다. 대신 bosy tect "Usage : uuencode [source] remotedest"도와주세요 – DivB

답변

0

나는 마침내 길을 발견했다. 평가 트릭

eval $STR 

$ ATTACH_CMD=$(echo `cat $OUTPUT_FILE`) 
$ echo $ATTACH_CMD 
uuencode out.txt out.txt ; uuencode asgda.txt asgda.txt 

$ (printf "%s\n" "BODY"; eval $ATTACH_CMD) | mailx -m -s "TEST" [email protected] 
0

아래 코드를 사용해 보셨습니까? 그것은 작동하지만, 아마 아래의 코드는 내가 echo 명령을 사용한 $ATTACH_CMD에 대한 해결 방법

(printf "%s\n" "BODY"; `echo $ATTACH_CMD`) | mailx -m -s "TEST" [email protected]`? 

로 사용될 수 확실하지 왜.

+0

예, 동일한 오류가 있습니다. – DivB

관련 문제