一部のコンテンツを含む仕様ファイルがあります。スクリプトもあります:
%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 です。