Bac*_*ash 4 bash syntax-error maven
我必须对我拥有的一些 EAR 进行几次 maven 测试。
我想编写一个自动执行该过程的 shell 脚本,而不是手动执行这些操作。
这就是我所拥有的:
#!/bin/bash
projects = ("MAIN_EAR", "EJB_EAR", "SIT_EAR", "ENC_EAR", "ENVIRONMENT_EAR", "PRESS_EAR")
myenvs = ("dev", "cart")
for prj in "${projects[@]}"
do
:
for myenv in "${myenvs[@]}"
do
:
mvn –am –pl "../$prj" clean package –Denvironment=$myenv
done
done
Run Code Online (Sandbox Code Playgroud)
这是输出:
back@slash-PC:~/workspace/WSP$ bash maven_tests.sh
maven_tests.sh: line 2: Syntax error near unexpected token "("
maven_tests.sh: line 2: `projects = ("MAIN_EAR", "EJB_EAR", "SIT_EAR", "ENC_EAR", "ENVIRONMENT_EAR", "PRESS_EAR")
Run Code Online (Sandbox Code Playgroud)
bash 似乎不喜欢我声明数组的方式。
我错过了什么?
如果有帮助:我在 Xubuntu 14.04 x64
=在 bash 中定义变量时,周围不能有空格。此外,数组元素用空格分隔,而不是用,. 你必须使用例如
myenvs=("dev" "cart")
Run Code Online (Sandbox Code Playgroud)
存在一些语法错误,尤其是在声明 BASH 数组时。(数组声明中的空格=以及数组元素之间使用逗号)。
试试这个代码:
\n\n#!/bin/bash\nprojects=("MAIN_EAR" "EJB_EAR" "SIT_EAR" "ENC_EAR" "ENVIRONMENT_EAR" "PRESS_EAR")\n\nmyenvs=("dev" "cart")\n\nfor prj in "${projects[@]}"; do\n for myenv in "${myenvs[@]}"; do\n mvn \xe2\x80\x93am \xe2\x80\x93pl "../$prj" clean package \xe2\x80\x93Denvironment="$myenv"\n done\ndone\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2051 次 |
| 最近记录: |