亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

與硬編碼字符串相比,在打印命令輸出時,bash的行為不同

與硬編碼字符串相比,在打印命令輸出時,bash的行為不同

慕娘9325324 2021-04-12 16:13:23
我正在嘗試使用tmux和簡單的bash腳本在終端中獲取非?;镜臓顟B欄-因此窗口很小(高度為1或2行,寬度可能少于10個字符)。導致異常行為的命令是:echo "$(top -bn 1 | awk '/^%Cpu/{print $2}')%"基本上應該只是打印出類似的東西1.8%。在普通大小的終端(帶或不帶tmux)中,它可以正常工作,但是當我縮小終端時,有時它會切斷數字并僅顯示%。這似乎不太奇怪,但是當我在此命令周圍放一些文字時,例如echo "ab$(top -bn 1 | awk '/^%Cpu/{print $2}'cd"abcd縮小終端時得到輸出。因此,這僅影響$(...)被切除的零件的枯萎。另外,當我打印兩行時:echo "$(top -bn 1 | awk '/^%Cpu/{print $2}'%"echo "20.5%"它可以20.5%很好地打印,甚至可以分成幾行,例如20.5%而不是只打印其中的一部分。但是,第一行僅顯示%沒有任何數字。知道是什么原因造成的,以及如何顯示數字?
查看完整描述

1 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

默認情況下,top即使在批處理模式下使用并且輸出通過管道傳輸而不是轉到終端時,也要檢查終端大小并根據其調整輸出。您可以使用該-w選項來覆蓋它。

echo "$(top -w 50 -bn 1 | awk '/^%Cpu/{print $2}')%"


查看完整回答
反對 回復 2021-04-16
  • 1 回答
  • 0 關注
  • 269 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號