找不到命令 - 当每个参数都在新行上时
command not found - when every param on new line
在 bash 文件中 myBuildAndJacoco.sh
:
mvn -Pcommon,coverage
clean
org.jacoco:jacoco-maven-plugin:prepare-agent
install
-Dmaven.test.failure.ignore=true
-Dclient.version=0.2-SNAPSHOT
-Djacoco.outputDir=${WORKSPACE}/target
但是当我 运行 它时我得到错误:
./myBuildAndJacoco.sh: line 12: clean: command not found
./myBuildAndJacoco.sh: line 14: org.jacoco:jacoco-maven-plugin:prepare-agent: command not found
./myBuildAndJacoco.sh: line 15: -Dmaven.test.failure.ignore=true: command not found
./myBuildAndJacoco.sh: line 16: -Dclient.version=0.2-SNAPSHOT: command not found
./myBuildAndJacoco.sh: line 17: -Dngnms.version=-SNAPSHOT: command not found
./myBuildAndJacoco.sh: line 18: -Djacoco.outputDir=/target: No such file or directory
我需要将所有这些参数拆分到新行。
bash 脚本 运行 将写在新行上的所有内容视为新命令的一部分。
例如当运行宁这个代码
mvn -Pcommon,coverage
clean
它将 mvn ... 视为一个命令,将 clean 视为另一个命令。为了防止它,您可以使用 \ 和每行的末尾。例如
mvn -Pcommon,coverage \
clean
同样你的整个代码应该是
mvn -Pcommon,coverage \
clean \
org.jacoco:jacoco-maven-plugin:prepare-agent \
install \
-Dmaven.test.failure.ignore=true \
-Dclient.version=0.2-SNAPSHOT \
-Djacoco.outputDir=${WORKSPACE}/target
WORKSPACE="wahtever"
OPTS=()
OPTS+=("-Pcommon,coverage")
OPTS+=("clean")
OPTS+=("org.jacoco:jacoco-maven-plugin:prepare-agent")
OPTS+=("install")
OPTS+=("-Dmaven.test.failure.ignore=true")
OPTS+=("-Dclient.version=0.2-SNAPSHOT")
OPTS+=("-Djacoco.outputDir=${WORKSPACE}/target")
# mvn "${OPTS[@]}"
echo mvn "${OPTS[@]}"
mvn -Pcommon,coverage clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true -Dclient.version=0.2-SNAPSHOT -Djacoco.outputDir=wahtever/target
在 bash 文件中 myBuildAndJacoco.sh
:
mvn -Pcommon,coverage
clean
org.jacoco:jacoco-maven-plugin:prepare-agent
install
-Dmaven.test.failure.ignore=true
-Dclient.version=0.2-SNAPSHOT
-Djacoco.outputDir=${WORKSPACE}/target
但是当我 运行 它时我得到错误:
./myBuildAndJacoco.sh: line 12: clean: command not found
./myBuildAndJacoco.sh: line 14: org.jacoco:jacoco-maven-plugin:prepare-agent: command not found
./myBuildAndJacoco.sh: line 15: -Dmaven.test.failure.ignore=true: command not found
./myBuildAndJacoco.sh: line 16: -Dclient.version=0.2-SNAPSHOT: command not found
./myBuildAndJacoco.sh: line 17: -Dngnms.version=-SNAPSHOT: command not found
./myBuildAndJacoco.sh: line 18: -Djacoco.outputDir=/target: No such file or directory
我需要将所有这些参数拆分到新行。
bash 脚本 运行 将写在新行上的所有内容视为新命令的一部分。
例如当运行宁这个代码
mvn -Pcommon,coverage
clean
它将 mvn ... 视为一个命令,将 clean 视为另一个命令。为了防止它,您可以使用 \ 和每行的末尾。例如
mvn -Pcommon,coverage \
clean
同样你的整个代码应该是
mvn -Pcommon,coverage \
clean \
org.jacoco:jacoco-maven-plugin:prepare-agent \
install \
-Dmaven.test.failure.ignore=true \
-Dclient.version=0.2-SNAPSHOT \
-Djacoco.outputDir=${WORKSPACE}/target
WORKSPACE="wahtever"
OPTS=()
OPTS+=("-Pcommon,coverage")
OPTS+=("clean")
OPTS+=("org.jacoco:jacoco-maven-plugin:prepare-agent")
OPTS+=("install")
OPTS+=("-Dmaven.test.failure.ignore=true")
OPTS+=("-Dclient.version=0.2-SNAPSHOT")
OPTS+=("-Djacoco.outputDir=${WORKSPACE}/target")
# mvn "${OPTS[@]}"
echo mvn "${OPTS[@]}"
mvn -Pcommon,coverage clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true -Dclient.version=0.2-SNAPSHOT -Djacoco.outputDir=wahtever/target