%configure
説明は非常に抽象的です。実際には、RPM .spec ファイルでマクロにパラメーターを渡そうとしています。しかし、振る舞いはまったく同じです。
を使用してそのようなスクリプトsh -x
:
#! /bin/sh
VAR1=" \
--enable-modules=dir so com \
--disable-userdir"
./configure $VAR1
私に与えます:
+./configure --enable-modules=dir so com --disable-userdir
私が必要とするのは:
+./configure --enable-modules='dir so com' --disable-userdir
質問: 引用符とスペースを正しく渡す方法はありますか? 引用符を配置すると、すべての文字列'dir so com'
が$VAR1
台無しになります。$"" は何もしません。qoutes はスペースなしで最も近い文字グループを引用します。ほぼすべてを試しました。
編集:
何かを推奨する前に試してください。それが簡単だったなら、それは問題ではありません。そして、私はエコーを意味していませんでした.paramsをマクロ/外部スクリプトに渡す必要があります。Sed/cat ケミストリーは許容されますが./configure
、「逆引用符」を介して直接呼び出すことはできません。またはrpmbuild
、何らかの追加パラメーターを使用してそれ自体を呼び出すこともできません。qoutes なしで params を渡すとうまくいきます。
VAR1=" \
--enable-modules=dir so com \
--disable-userdir"
する:
$ sh -x test.sh
+ VAR1=' --enable-modules="dir so com" --disable-dir --disable-actions --disable-userdir'
+ ./configure '--enable-modules="dir' so 'com"' --disable-dir --disable-actions --disable-userdir`