如何在echo语句中传递变量值?
testvar="actualvalue"
echo 'testing "${testvar}", "testing", "testing" ;'
预期输出:
testing "actualvalue", "testing", "testing" ;
但是,我得到以下输出:
testing "${testvar}", "testing", "testing" ;
有人可以帮我弄这个吗?
答案1
删除单引号:
$ testvar="actualvalue"
$ echo testing "${testvar}", "testing", "testing" ;
testing actualvalue, testing, testing
单引号禁止变量扩展。
没有双引号会得到相同的输出:
$ echo testing ${testvar}, testing, testing ;
testing actualvalue, testing, testing
但如果你确实想在输出中使用双引号,请转义它们:
$ echo "testing \"${testvar}\", \"testing\", \"testing\" ;"
testing "actualvalue", "testing", "testing" ;