使用引号回显和不使用[重复]之间的区别

问题描述 投票:0回答:1

这个问题在这里已有答案:

我将diff的输出保存到变量variable=$(diff file1 file2)

使用echo "$variable"打印时,会出现带有新行的文本:

1c1
< x
---
> y

但是当使用echo $variable时,一切都停留在一行。

1c1 < x --- > y

我想知道这种差异的原因是什么。

bash shell diff
1个回答
0
投票

您查询的可能解决方案是:https://unix.stackexchange.com/a/124638/41427

相比

$ echo $(printf 'foo\nbar\nquux\n*')
foo bar quux ssh-13yzvBMwVYgn ssh-3JIxkphQ07Ei ssh-6YC5dbnk1wOc 

with

$ echo "$(printf 'foo\nbar\nquux\n*')"
foo
bar
quux
*

再次引用:

没有引号,字符串受word splittingglobbing的约束。另见BashPitfalls #14

© www.soinside.com 2019 - 2024. All rights reserved.