将变量转换为文件

时间:2013-09-16 18:19:02

标签: bash variables yum repository

我编写了自己的repo文件,并尝试在bash中编写安装脚本。

我的代码:

echo -e "[repo name]\nname=repo - $serverver - $basearch...\n.." >> /etc/yum.repos.d/reponame.repo

但是,当我运行命令时,$serverver$basearch丢失了。

如何将变量回显到文件中而不试图确定它们?

我试过了

echo -E

"$serverver"

'$serverver'

`$serverver`

\"$serverver\"

2 个答案:

答案 0 :(得分:2)

要添加到yum.repos.d,请使用单引号'而不是双"。这保留了$符号,后来由yum解释。

echo -e '[repo name]\nname=repo - $serverver - $basearch...\n..' >> /etc/yum.repos.d/reponame.repo

答案 1 :(得分:2)

echo -e "[repo name]\nname=repo - \$serverver - \$basearch...\n.." >> /etc/yum.repos.d/reponame.repo

$表示shell变量扩展。如果你想要一个文字$,它必须被转义,如上所述,或者你必须使用单引号。如果要扩展shell变量,必须定义它们,否则它们将产生空字符串。