RPM がデプロイされている場所で実行される仕様ファイル内に埋め込まれたスクリプトでShellCheckを実行したいと考えています。次のような .spec スニペットがあります。
%setup -q
cat > ./example.sh << EOF
#!/bin/sh
echo "example"
EOF
フックはもちろん、
%post
#!/bin/sh
echo "Hello"
これらのシェル スニペットをプログラムで抽出して、ShellCheck などのスクリプト分析ツールを実行する方法はありますか? たぶんrpmbuild --save-temps
、またはこのようなコンセプトのように?grep
または、ストリーム ツール ( 、awk
、sed
など)を使用できるように、すべてのスクリプトを既知のテキストでバインドする必要がありますか?
変更したくない仕様ファイルが大量にあります。たとえば、仕様ファイルを解析する必要なく、セキュリティ関連のアイテムなどのスクリプトをチェックします。を検索するbison + spec
と間違った概念が得られます。RPM マクロやその他の多くの機構を解析する必要があると思います。それとも、文法は私が思っているよりも簡単ですか?