在 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}
我创建了一个 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}