我正在尝试使用tmux和简单的bash脚本在终端中获取非常基本的状态栏-因此窗口很小(高度为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%很好地打印,甚至可以分成几行,例如
2
0
.
5
%
而不是只打印其中的一部分。但是,第一行仅显示%没有任何数字。
知道是什么原因造成的,以及如何显示数字?
长风秋雁