bash脚本中双引号的意外行为

时间:2017-06-27 11:03:03

标签: linux bash shell unix

我创建了一个如下所示的变量:

firstAndLastLines="$(cat /etc/passwd | head -$n | cut -f5 -d':') $(cat /etc/passwd | tail -$n | cut -f5 -d':') "

如果我使用echo $firstAndLastLines将其打印到终端,我会得到以下输出:
root bin daemon adm lp Privilege-separated SSH Account used by the trousers package to sandbox the tcsd daemon Norbert Fogarasi

但是,如果我使用echo "$firstAndLastLines",我会得到以下内容,用新行分隔:

root
bin
daemon
adm
lp 
Privilege-separated SSH
Account used by the trousers package to sandbox the tcsd daemon

Norbert Fogarasi`

我想知道,为什么会这样?它不一定是一样的吗? `

1 个答案:

答案 0 :(得分:1)

bash中的解释 man

  

双引号括起字符可保留字面值   引号中的所有字符,$,`,\,

除外