在 shell 脚本中缩短 maven 命令

shorten maven command in shell script

我创建了一个 shell 脚本来执行 maven 命令。

命令如下所示:

mvn --ntp  gatling:test -Dgatling.simulationClass=scripts.$SIMULATION_CLASS -Denv=${TEST_ENVIRONMENT} -Dscenario="ownerPairing"  -Dgatling.core.directory.results="/home/vsts/work/r1/a/_digital-key-core-gatling/gatlingResults" -Dgatling.core.outputDirectoryBaseName=dkc_gatling_test_emea_dev_$SIMULATION_CLASS -Dgatling.charting.noReports=true -DclientPath=${clientPath} -DclientPWD=${CLIENT_CERTIFICATES_PASSWORD} -DuseProxy=false -Dusers=${USERS} -DrampUpTime=${DURATION} -DexecuteFrom="pipeline"

有没有办法,我将所有输入分配给一个变量并在 mvn 命令中访问它。

我尝试过类似的方法但没有成功:

mavenInput1="-Dgatling.simulationClass=scripts.$SIMULATION_CLASS -Denv=${TEST_ENVIRONMENT} -Dscenario="ownerPairing"  
mavenInput2=-Dgatling.core.directory.results="/home/vsts/work/r1/a/_digital-key-core-gatling/gatlingResults" -Dgatling.core.outputDirectoryBaseName=dkc_gatling_test_emea_dev_$SIMULATION_CLASS -Dgatling.charting.noReports=true 
mavenInput3=-DclientPath=${clientPath} -DclientPWD=${CLIENT_CERTIFICATES_PASSWORD} -DuseProxy=false -Dusers=${USERS} -DrampUpTime=${DURATION} -DexecuteFrom="pipeline"
mvn --ntp  gatling:test ${mavenInput1} ${mavenInput2} ${mavenInput3}

全都是引号。

mavenInput1='-Dgatling.simulationClass=scripts.'"${SIMULATION_CLASS}"' -Denv='"${TEST_ENVIRONMENT}"' -Dscenario=ownerPairing'  
mavenInput2='-Dgatling.core.directory.results=/home/vsts/work/r1/a/_digital-key-core-gatling/gatlingResults -Dgatling.core.outputDirectoryBaseName=dkc_gatling_test_emea_dev_'"${SIMULATION_CLASS}"' -Dgatling.charting.noReports=true'
mavenInput3='-DclientPath='"${clientPath}"' -DclientPWD='"${CLIENT_CERTIFICATES_PASSWORD}"' -DuseProxy=false -Dusers='"${USERS}"' -DrampUpTime='"${DURATION}"' -DexecuteFrom=pipeline'
mvn --ntp  gatling:test ${mavenInput1} ${mavenInput2} ${mavenInput3}

您也可以将它们作为单个变量,如下所示:

mavenInputs='-Dgatling.simulationClass=scripts.'"${SIMULATION_CLASS}"\
' -Denv='"${TEST_ENVIRONMENT}"\
' -Dscenario=ownerPairing'\
' -Dgatling.core.directory.results=/home/vsts/work/r1/a/_digital-key-core-gatling/gatlingResults'\
' -Dgatling.core.outputDirectoryBaseName=dkc_gatling_test_emea_dev_'"${SIMULATION_CLASS}"\
' -Dgatling.charting.noReports=true'\
' -DclientPath='"${clientPath}"\
' -DclientPWD='"${CLIENT_CERTIFICATES_PASSWORD}"\
' -DuseProxy=false'\
' -Dusers='"${USERS}"\
' -DrampUpTime='"${DURATION}"\
' -DexecuteFrom=pipeline'
mvn --ntp  gatling:test ${mavenInputs}