2016-09-01 4 views
1

를 인쇄하지 에코, 내가 코드 아래 사용했다 :내 쉘 스크립트에서 다음 줄 유닉스 bash는

RECORD=`ps -ef | grep sysProj | cut -d" " -f1,2` 
echo $RECORD 

이것을 실행에, 그는

45646654 28770 45646654 32021 45646654 32176 

를 인쇄하지만 명령 출력을 저장하지 않을 때 가변 아래와 같이 실행 :

ps -ef | grep sysProj | cut -d" " -f1,2 

출력은 : 012,351

45646654 28770 
45646654 32021 
45646654 32176 

왜 명령 출력을 varible로 저장하면 새 줄 문자가 표시되지 않습니다. 또한 어떻게 보관할 수 있습니까?

+2

는 또한 또한 [bash는 변수를 인용 망각의 보안 관련 사항을 참조하십시오 – sjsam

+1

usuallu 시스템 변수는 전체 대문자 변수로 스크립트 변수에 대한 소문자를 사용/POSIX shells] (http://unix.stackexchange.com/questions/171346/security-implications-of-forgetting-to-quote-a-variable-in-bash-posix-shells) –

답변

4

그냥 word splitting을 방지하기 위해 따옴표 안에 변수를 묶

echo "$RECORD"