줄 바꿈을 사용하여 변수의 출력을 얻는 방법은 무엇입니까?

줄 바꿈을 사용하여 변수의 출력을 얻는 방법은 무엇입니까?

향후 처리를 위해 top의 onre 출력을 변수로 가져오고 싶습니다. 나는 시도했다:

top=$(top -n1)
top=$(top -n1 -w80)
top=$(top -n1 -b -w80)
top=$(COLUMNS=100 top -b-n1)

실행하면 echo $top스크린샷과 같은 내용이 표시됩니다. 여기에 이미지 설명을 입력하세요. 즉, top개행 문자가 전혀 없는 출력입니다. 내가 뭘 잘못했나요?

답변1

큰따옴표 변수

echo "${top}"할당 후 시도top="$(top -n1)"

답변2

복사할 수 없음:

$ t="$( top -b -n1 )"
$ echo "$t" | head -n3
top - 14:49:52 up 243 days, 17:18,  2 users,  load average: 0.03, 0.07, 0.12
Tasks: 205 total,   1 running, 203 sleeping,   1 stopped,   0 zombie
%Cpu(s):  2.4 us,  0.5 sy,  0.1 ni, 96.4 id,  0.7 wa,  0.0 hi,  0.0 si,  0.0 st

관련 정보