如何在spec文件的postun部分运行脚本

如何在spec文件的postun部分运行脚本

我有一个包含一些内容的规范文件。还有一个脚本:

%postun
  if [ '$1' == 0 ]; then
    do some things
  fi

我希望在删除包后执行 %postun 部分中的脚本。但在 $1 变量中,我收到一个路径(../../source/)而不是数字。

我如何接收号码而不是路径?

答案1

首先 - 单引号意味着不扩展变量。使用双引号:

if [ "$1" == 0 ]; then

我猜你的脚本看起来像:

%postun
  if [ '$1' == 0 ]; then
    ./some-script.sh foo
  fi

请注意,脚本中的 $1 是foo,而不是 scriptlet 中的 $1 。

相关内容