Bash

如何獲得帶換行符的變數輸出?

  • November 17, 2017

我想將 top 的 onre 輸出轉換為變數以供將來處理。我試過:

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

當我執行時,我會echo $top在螢幕截圖上看到類似的東西 在此處輸入圖像描述 ,它top完全沒有換行符輸出。我究竟做錯了什麼?

雙引號變數

echo "${top}"分配後嘗試top="$(top -n1)"

無法複製:

$ 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

引用自:https://unix.stackexchange.com/questions/404859