我正在尝试从 shell 脚本执行 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 语句..
有没有办法优雅地解决这个问题