我是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),但我仍然感到困惑,任何人都可以清楚地解释它吗?
答案 0 :(得分:1)
name=foo
由于该值不在引号内,因此不会接受包含name=foo bar
name='foo'
这不会扩展值中的文本。那是foo $bar
将被视为文字foo $bar
。它不会展开$b
name="foo"
双引号内的值将被解析或扩展。