我编写了自己的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\"
答案 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变量,必须定义它们,否则它们将产生空字符串。