如何从命令行参数创建名称值对数组?

如何从命令行参数创建名称值对数组?

考虑以下例子:

bash myScript.sh --name1 valule1 --name2 value2

里面myScript.sh

java -jar someJar. jar --name1=valule1 --name2=value2

例如数组--name1 valule1 --name2 value2需要转换为名称/值对:--name1=valule1 --name2=value2

如何用 bash 来实现这个功能?

答案1

建立一个数组,保存你 jar 的新格式化选项:

# keep looping while the 2nd parameter is not null
while [[ -n "$2" ]]; do
    jaropts+=( "$1=$2" )
    shift 2
done
echo java -jar someJar.jar "${jaropts[@]}"

相关内容