変数の実行後にファイルのテキストをパラメータとして渡す

変数の実行後にファイルのテキストをパラメータとして渡す

次の例があります。

[nir]$ cat a.cfg 
--arg1 $(./get.sh variable)
[nir]$ cat get.sh 
echo "${1}-info"
[nir]$ cat a.sh 
arg=$(cat a.cfg)

echo "$arg"
[nir]$ ./a.sh
--arg1 $(./get.sh variable)

a.sh私は戻りたいです--arg variable-info。最終結果は、echo実際のコマンドを使用してトグルし、解析してパラメータにa.cfg送信することです。

ベストアンサー1

あなたは以下を持つことができますa.sh

eval '
arg=$(cat << EOF
'"$(cat a.cfg)"'
EOF
)'
printf '%s\n' "$arg"

このシェルコードを評価するようにシェルに指示します。


arg=$(cat << EOF
--arg1 $(./get.sh variable)
EOF
)

$(...)引用符のない区切り文字を使用して、ここのドキュメントにあるように拡張されます。

おすすめ記事