繁体   English   中英

命令输出和变量的行数不同,wc,bash

[英]Number of lines from command output and variable differs, wc, bash

wc直接命令输出以及将输出存储在变量中时,为什么wc报告的行数不同?

$ virsh list --all | grep -P -- '(-|(\d+))\s+\S+\s+\S+'
$ var=$(virsh list --all | grep -P -- '(-|(\d+))\s+\S+\s+\S+')
$ wc -l <<< "${var}"
1
$ virsh list --all | grep -P -- '(-|(\d+))\s+\S+\s+\S+' | wc -l
0
$ echo "x${var}x"
xx
$ cat <<< ${var}

$

1.,4.调用建议命令( virsh | grep )不输出任何内容。 5.调用建议该变量包含空字符串。 但是由于某种原因,wc在发票3中报告了一行。

问题出在这里字符串重定向(三尖括号)。 它可能会添加新行:

$ a=''
$ xxd <<< "$a"
00000000: 0a  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM