在heredoc中使用shell变量的双引号

mbe*_*ann 2 bash shell heredoc double-quotes

我编写了一个bash脚本,并通过read获得了一些用户输入.我想把变量,我通过读取,放在一个文件中cat << EOF >> file.我的问题是每个变量都得到"双重报价".我怎么能阻止这个?

echo "Whats your name?"
read yourname

cat << EOF >> /path/to/file
Your Name is "${yourname}"

EOF
Run Code Online (Sandbox Code Playgroud)

该文件的内容是:

Your Name is "djgudb"
Run Code Online (Sandbox Code Playgroud)

它应该是:

Your Name is djgudb
Run Code Online (Sandbox Code Playgroud)

Cha*_*ffy 5

引号在heredocs中没有句法意义,所以如果你不希望它们是字面的,不要把它们放在那里.

echo "Whats your name?"
read yourname

cat << EOF >> /path/to/file
Your Name is ${yourname}

EOF
Run Code Online (Sandbox Code Playgroud)