添加带变量的 YUM 存储库
Adding YUM Repos With Variables
我正在尝试像这样从命令行添加一个 YUM 存储库
cat > /etc/yum.repos.d/my_stable_repo.repo << EOF
[my_stable_repo]
name=Stable Repo
baseurl='https://myurl/$releasever/stable/Packages/'
enabled=1
gpgcheck=0
EOF
但是,当我这样做并查看 /etc/yum.repos.d/my_stable_repo.repo
时,我没有在 URL 中看到 $releasever
。相反,/etc/yum.repos.d/my_stable_repo.repo
看起来像:
[my_stable_repo]
name=Stable Repo
baseurl='https://myurl//stable/Packages/'
enabled=1
gpgcheck=0
请注意,releasever 变量已被删除。我假设这是因为当我 运行 将内容从 shell 写入文件的命令时,linux 正在根据全局环境评估 $releasever
变量,看到它是空的,并将其替换为空字符串。
但实际上我只希望字符串 $releasever
位于 /etc/yum.repos.d/my_stable_repo.repo
中。所以文件应该如下所示:
[my_stable_repo]
name=Stable Repo
baseurl='https://myurl/$releasever/stable/Packages/'
enabled=1
gpgcheck=0
如何用 和 $releasever
从 shell?
中以纯文本形式写出这样的文件
TLDR:如何在不实际评估变量的情况下从命令行将一个看起来像其中包含变量(即 $releasever
)的字符串写入文件?
将$更改为\$,
这样做:
cat > test_my_stable_repo.repo << EOF
[my_stable_repo]
name=Stable Repo
baseurl='https://myurl/$releasever/stable/Packages/'
enabled=1
gpgcheck=0
EOF
要防止 Bash 解释您的 cat
命令中的美元符号,只需将第一个 EOF 放在单引号中,如下所示:
cat > /etc/yum.repos.d/my_stable_repo.repo << 'EOF'
[my_stable_repo]
name=Stable Repo
baseurl='https://myurl/$releasever/stable/Packages/'
enabled=1
gpgcheck=0
EOF
我正在尝试像这样从命令行添加一个 YUM 存储库
cat > /etc/yum.repos.d/my_stable_repo.repo << EOF
[my_stable_repo]
name=Stable Repo
baseurl='https://myurl/$releasever/stable/Packages/'
enabled=1
gpgcheck=0
EOF
但是,当我这样做并查看 /etc/yum.repos.d/my_stable_repo.repo
时,我没有在 URL 中看到 $releasever
。相反,/etc/yum.repos.d/my_stable_repo.repo
看起来像:
[my_stable_repo]
name=Stable Repo
baseurl='https://myurl//stable/Packages/'
enabled=1
gpgcheck=0
请注意,releasever 变量已被删除。我假设这是因为当我 运行 将内容从 shell 写入文件的命令时,linux 正在根据全局环境评估 $releasever
变量,看到它是空的,并将其替换为空字符串。
但实际上我只希望字符串 $releasever
位于 /etc/yum.repos.d/my_stable_repo.repo
中。所以文件应该如下所示:
[my_stable_repo]
name=Stable Repo
baseurl='https://myurl/$releasever/stable/Packages/'
enabled=1
gpgcheck=0
如何用 和 $releasever
从 shell?
TLDR:如何在不实际评估变量的情况下从命令行将一个看起来像其中包含变量(即 $releasever
)的字符串写入文件?
将$更改为\$, 这样做:
cat > test_my_stable_repo.repo << EOF
[my_stable_repo]
name=Stable Repo
baseurl='https://myurl/$releasever/stable/Packages/'
enabled=1
gpgcheck=0
EOF
要防止 Bash 解释您的 cat
命令中的美元符号,只需将第一个 EOF 放在单引号中,如下所示:
cat > /etc/yum.repos.d/my_stable_repo.repo << 'EOF'
[my_stable_repo]
name=Stable Repo
baseurl='https://myurl/$releasever/stable/Packages/'
enabled=1
gpgcheck=0
EOF