在 echo 语句中打印变量值

在 echo 语句中打印变量值

如何在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" ;

相关内容