BuildToolsをダウンロードしてjarをコンパイルするためのbash/shellスクリプトを作成しようとしていますが、その後それらを私のWebサーバー(/var/www/html/jars/
)スクリプトの中で/home/buildtools/
Bash/ShellスクリプトでBuildToolsを使用してMinecraftサーバーjarをダウンロード/ Buidlingする
BuildToolsはjarsをダウンロード/コンパイルし、ベースディレクトリ内のwork/
にあるバニラジャーを除いてベースディレクトリに配置します。
jarをダウンロード/コンパイルしても、すべてが目的のディレクトリに移動しているわけではありません。
これは、現時点では私が使用していたコード(私はすべて提供するために、関連するかもしれないと思う)です:
directory="$(pwd)/"
jar="BuildTools.jar"
path="${directory}${jar}"
output="/var/www/html/jars"
version=$1
if [[ (-d "BuildData") || (-d "Spigot") || (-d "CraftBukkit") || (-d "Bukkit") || (-d "work") || (-d "apache-maven-*") || (-f "BuildTools.log.txt") ]]; then
echo "Cleaning up..."
rm -f -r BuildData/ Spigot/ CraftBukkit/ Bukkit/ work/ apache-maven-*/
rm -f BuildTools.log.txt spigot-*.jar craftbukkit-*.jar vanilla-*.jar
fi
if [[ ! -f "${jar}" ]]; then
echo "Downloading BuildTools..."
wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar -O ${jar}
chmod 775 ${jar}
fi
if [[ ! -z "${version}" ]]; then
echo "Compiling jars for version ${version}..."
java -jar ${jar} --rev ${version}
else
echo "No version specified."
echo "Compiling jars for the latest version..."
java -jar ${jar} --rev latest
fi
if [[ (-f "${directory}spigot-*.jar") || (-f "${directory}craftbukkit-*.jar") ]]; then
echo "Compilation is done. Re-organizing..."
if [[ ! -z "${version}" ]]; then
mv work/minecraft_server.*.jar ${directory}/vanilla-${version}.jar
else
mv work/minecraft_server.*.jar ${directory}/vanilla-latest.jar
fi
echo "Moving jars to the webserver..."
mv ${directory}/vanilla-*.jar ${output}/
mv ${directory}/spigot-*.jar ${output}/
mv ${directory}/craftbukkit-*.jar ${output}/
else
echo "Could not re-organize, the jars hasn't been moved."
fi
編集: コマンドを実行することにより:何らかの理由で./compile.sh 1.8.6
jarファイル正しい名前ではありません。
directory="$(pwd)/"
jar="BuildTools.jar"
path="${directory}${jar}"
output="/var/www/html/jars"
version=$1
if [[ (-d "BuildData") || (-d "Spigot") || (-d "CraftBukkit") || (-d "Bukkit") || (-d "work") || (-d "apache-maven-*") || (-f "BuildTools.log.txt") ]]; then
echo "Cleaning up..."
rm -f -r BuildData/ Spigot/ CraftBukkit/ Bukkit/ work/ apache-maven-*/
rm -f BuildTools.log.txt done.txt spigot-*.jar craftbukkit-*.jar vanilla-*.jar
fi
if [[ ! -f "${jar}" ]]; then
echo "Downloading BuildTools..."
wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar -O ${jar}
chmod 775 ${jar}
fi
if [[ ! -z "${version}" ]]; then
echo "Compiling jars for version ${version}..."
java -jar ${jar} --rev ${version}
echo "done" > done.txt
else
echo "No version specified. Compiling jars for the latest version..."
java -jar ${jar} --rev latest
echo "done" > done.txt
fi
if [[ -f "done.txt" ]]; then
echo "Compilation is done. Re-organizing..."
for x in $(find ${directory} \(-name "*.jar" \)); do
name=$(basename "${x}" ".jar")
if [[ ${name} =~ ^(spigot|craftbukkit|minecraft_server)(-)?(.*)? ]]; then
fullname="${name}.jar"
echo "Jar found: ${fullname}, Moving to webserver..."
if [[ ! -z "${version}" ]]; then
outpath=${output}/${version}
if [[ ! -d ${outpath} ]]; then
mkdir ${outpath}
fi
mv -f ${x} ${outpath}/${fullname}
else
outpath=${output}/latest
if [[ ! -d ${outpath} ]]; then
mkdir ${outpath}
fi
rm -f -r ${outpath}
mv -f ${x} ${outpath}/${fullname}
fi
fi
done
echo "Jars uploaded."
else
echo "Could not re-organize, the jars hasn't been moved."
fi
そしてさらに、私は私はそれをどのように行うか、のみ各アップロード(バニラ、スピゴット、Craftbukkit)の一つのファイルを持っていたいですか?
'set -x'を使用して、スクリプトのデバッグ出力を確認してください。 –