bash:带双引号的变量

时间:2015-02-10 16:16:10

标签: bash double-quotes

我是bash脚本编程的新手,当我学习变量扩展时,我对变量感到困惑。
1.当我想定义一个变量时,我可以这样做:

name=foo
name="foo"
name='foo'

他们之间的区别是什么? 2.当我想打印一个变量时,我可以按照以下步骤进行操作"

echo $name
echo "$name"
echo "$(name)"

3.我也遇到以下部分:

name=$(date)

"()"做,为什么它可以解决命令?

我搜索了我的问题并阅读了一些文档,例如(http://www.serverwatch.com/tutorials/article.php/3898896/Single-vs-Double-Quotes-in-Bash.htm),但我仍然感到困惑,任何人都可以清楚地解释它吗?

1 个答案:

答案 0 :(得分:1)

name=foo由于该值不在引号内,因此不会接受包含name=foo bar

等空格的值

name='foo'这不会扩展值中的文本。那是foo $bar将被视为文字foo $bar。它不会展开$b

name="foo"双引号内的值将被解析或扩展。