
次の例があります。
[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
)
$(...)
引用符のない区切り文字を使用して、ここのドキュメントにあるように拡張されます。