我有一个用于在 jenkins 上构建项目的 shell 脚本。当我在本地 Windows 机器上运行该脚本时,它运行良好,但是当我在 Ubuntu 服务器上运行该脚本时,它会出现错误
错误:
Syntax error: end of file unexpected (expecting "}")
Build step 'Execute shell' marked build as failure
Finished: FAILURE
我在 Windows 本地机器和 Ubuntu 服务器上都使用 Jenkins
Shell 脚本的内容:
echo 'asklytics-commons-test: cleaning ...'
./gradlew clean || { echo 'gradlew clean --refresh-dependencies FAILED!!' ; exit 1; }
echo 'asklytics-commons-test: building ...'
./gradlew build || { echo 'gradlew building FAILED!!' ; exit 1; }
echo 'asklytics-commons-test: jarring...'
./gradlew jar || { echo 'gradlew jarring FAILED!!' ; exit 1; }
echo 'asklytics-commons-test: publishing ...'
./gradlew publish || { echo 'gradlew publish FAILED!!' ; exit 1; }
答案1
shebang 行必须是文件中的第一行。由于您使用 bash 功能,因此文件的第一行必须是
#!/bin/bash 或 #!/usr/bin/env bash。