清除可选参数并将其传递给shell脚本
我正在尝试从shell脚本执行cpp二进制文件。。cpp接受参数,其中一些参数是可选的 基本上,我要做的是生成appropiate字符串,然后执行该字符串,如下所示:清除可选参数并将其传递给shell脚本,shell,unix,Shell,Unix,我正在尝试从shell脚本执行cpp二进制文件。。cpp接受参数,其中一些参数是可选的 基本上,我要做的是生成appropiate字符串,然后执行该字符串,如下所示: generate_string() { string="$path/to/binary" param1=$1 param2=$2 generated_string="$string $param1 --param2=$param2" echo $generated_string } #
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语句
有没有办法优雅地解决这个问题呢?先生,这应该行得通
#/垃圾箱/垃圾箱
用法()
{
回显用法:$0 PARAM1 PARAM2[PARAM3][PARAM4]
出口
}
[$2]| |用法
eval“path/to/binary”“$@”
这应该可以,先生
#/垃圾箱/垃圾箱
用法()
{
回显用法:$0 PARAM1 PARAM2[PARAM3][PARAM4]
出口
}
[$2]| |用法
eval“path/to/binary”“$@”