【问题标题】:How to avoid variables like $HOME from being translated in a script如何避免像 $HOME 这样的变量在脚本中被翻译
【发布时间】:2014-08-29 18:10:00
【问题描述】:

我有一个构建 RPM 包的 shell 脚本。对于 files(%files) 部分,我有类似的内容

%attr(766, $USER, $myGroup) $HOME/Documents/...../.

但是,当脚本运行时,$HOME 会被翻译,我在生成的 SPEC 文件中有/home/userid/,而不是简单地有 $HOME。

我只希望我的 SPEC FILE 有 $HOME。我怎样才能阻止 $HOME 被转换成它的实际值。

【问题讨论】:

  • 用单引号将它们括起来` ' `
  • 为什么要在规范文件的%files 部分包含$HOME?我不相信 rpm 会以任何理智的方式解释它(当然也不会成为安装 RPM 的用户的主目录)。

标签: linux rpm specifications home-directory


【解决方案1】:

在您的脚本中转义美元 ($) 符号 .... 使用反斜杠 ('\'),如下所示

%attr(766, $USER, $myGroup) \$HOME/Documents/..../.

【讨论】:

  • 相信连$USER变量也需要改成\$USER
猜你喜欢
  • 1970-01-01
  • 2020-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-04
  • 1970-01-01
  • 1970-01-01
  • 2021-09-09
相关资源
最近更新 更多