ソースファイルをパラメータとして使用しますか?

ソースファイルをパラメータとして使用しますか?

ソースを使用して別のファイル内で別のファイルを実行する方法について読みました。

source ./filename

しかし、コマンドのパラメータでこれを実行したいのですが。

コマンドは次のように実行されます。

command \
-argument \
-argument \
source ./file
-argument \
...

このファイルには、デフォルトで次の追加パラメータセットが含まれています。

-argument \
-argument \

どうすればいいですか?そのまま実行すると、コマンドが失敗します。

ベストアンサー1

デフォルトでは、コンテンツはfilenameパラメータとして必要です。パラメータにスペースやワイルドカード演算子がない場合は、これを簡単に実行できます。

command \
-argument \
-argument \
$(cat ./file) \
-argument \
...

パラメータに改行やその他の文字が含まれていない場合は、その文字を区切り文字として使用してパラメータリストを設定できます。

#! /bin/bash
args=()
while IFS= read -r arg
do
    args+=("$arg")
done < filename
command \
-argument \
-argument \
"${args[@]}" \
-argument \
...

パラメータが含まれていない場合は、|次のことができます。

while IFS= read -d'|' -r arg

ファイルには以下が含まれます。

-arg1 something|-arg2
something else|-arg3 ...

おすすめ記事