1
爲什麼wc
在消耗直接命令輸出和輸出存儲在變量中時報告不同的行數?來自命令輸出和變量的行數不同,wc,bash
$ 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在invoaction 3中報告一行。
還有一個討論[這裏](http://stackoverflow.com/questions/33245568/why-does-bash-always-add-a-newline-when-expanding-這裏串)。 – Armali