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スクリプトレットの $1 ではなく $1 です。

おすすめ記事