Richard Barraclough Asked: 2023-12-15 03:41:05 +0800 CST2023-12-15 03:41:05 +0800 CST 2023-12-15 03:41:05 +0800 CST echo 变量后立即带有字母 772 p=$( power ) echo "Power now: ${p}W" 印刷 Wower now: 357 这毫无意义。这肯定是一个错误吗? shell 1 个回答 Voted Best Answer Marcus Müller 2023-12-15T05:28:45+08:002023-12-15T05:28:45+08:00 Wower now: 357 啊,是的,这实际上是以下序列,一个字节接一个字节 P (0x50) o (0x6f) w (0x77) e (0x65) r (0x72) (0x20) n (0x6e) o (0x6f) w (0x77) : (0x3a) (0x20) 3 (0x33) 5 (0x35) 7 (0x37) jump-back-to-beginning-of-line (0x0d) ## called "carriage return", if you know typewriters… W (0x57) 因此,您的power命令出于人类未知的原因输出357\r(回车)。 解决方案:只打印来自 的实际数字power,例如: p=$( power | grep -o '[[:digit:]]*' ) echo "Power now: ${p}W" 或更紧凑: power | sed -n 's/^\([[:digit:]]*\).*$/Power now: \1 W/p'
啊,是的,这实际上是以下序列,一个字节接一个字节
因此,您的
power
命令出于人类未知的原因输出357\r
(回车)。解决方案:只打印来自 的实际数字
power
,例如:或更紧凑: