シェルスクリプトからcppバイナリを実行しようとしています。cppは引数を取り、それらのいくつかはオプションです。
つまり、基本的に私がやろうとしているのは、適切な文字列を生成してから、その文字列を次のように実行することです。
generate_string()
{
string="$path/to/binary"
param1=$1
param2=$2
generated_string="$string $param1 --param2=$param2"
echo $generated_string
}
# execution function
execute()
{
read -p 'param1: ' param2
read -p 'param2: ' param2
echo 'optional arguments'
*read -p "param3: " param3
read -p "param4: " param4*
string=$(generate_string $param1 $param2 ???????)
eval $string
}
この関数では、param3とparam4のいずれかまたは両方を空白にすることができます。空白の場合は、文字列で生成しません。
しかし、私はifステートメントを持っているのは面倒すぎると感じています。
これを優雅に解決する方法はありますか