コンパイル時に./configureオプションファイルを使用できますか?

コンパイル時に./configureオプションファイルを使用できますか?

ソースコードからいくつかのソフトウェアを構築するには、多くの設定スイッチが必要です。

./configure --enable-ftp --with-gettext ...

必要なスイッチはすべて改行で区切られたテキストファイルにあります。たとえば、次のようになります。

--enable-ftp
--with-gettext
etc...

オプションを設定するためにテキストファイルを設定のパラメータとして渡す方法はありますか?それとも私が持っているオプションを切り取って貼り付ける別の方法がありますか?

編集する

$HOME私はスイッチに変数を使用しているので、すべてのソリューションがそれに対応する必要があります。

ベストアンサー1

$HOMEファイルを拡張するには、envsubstまず使用できます(これにより、すべての環境変数が拡張されます)。その後、結果を配列として読み取ることができます。zsh

args=(${(f)"$(< <(envsubst <infile))"})

またはbash

readarray -t args < <(envsubst <infile)

その後実行

./configure "${args[@]}"

または、tr前の1行オプションを使用して結果をフォーマットし、./configure次にパイプすることもできますsh

{ printf %s './configure '; tr '\n' ' ' <infile; } | sh

おすすめ記事