需要帮助将批次转换为Shell

时间:2014-07-17 22:46:21

标签: java shell batch-file ssl vps

我过去几天都看了一遍,尝试了很多不同的东西,但似乎无法将我的批处理文件转换为shell文件,以便在Linux VPS上运行一个maplestory私人服务器

我的批处理文件是......

@echo off
@title TiredStory World Server
set CLASSPATH=.;dist\TiredStory.jar;dist\mina-core.jar;dist\slf4j-api.jar;dist\slf4j-       jdk14.jar;dist\mysql-connector-java-bin.jar
java -Xmx100m -Dwzpath=wz\ 
-Djavax.net.ssl.keyStore=filename.keystore 
-Djavax.net.ssl.keyStorePassword=keoki 
-Djavax.net.ssl.trustStore=filename.keystore 
-Djavax.net.ssl.trustStorePassword=passwd 
-Drecvops=recvops.properties 
-Dsendops=sendops.properties 
net.world.WorldServer
pause

2 个答案:

答案 0 :(得分:1)

我想你不需要' @echo off'也不是' @ title'暂停'所以你的shell脚本将简化为:

export CLASSPATH=.:dist/TiredStory.jar:dist/mina-core.jar:dist/slf4j-api.jar:dist/slf4j-jdk14.jar:dist/mysql-connector-java-bin.jar
java -Xmx100m -Dwzpath=wz \ 
    -Djavax.net.ssl.keyStore=filename.keystore \
    -Djavax.net.ssl.keyStorePassword=keoki \
    -Djavax.net.ssl.trustStore=filename.keystore \
    -Djavax.net.ssl.trustStorePassword=passwd \
    -Drecvops=recvops.properties \
    -Dsendops=sendops.properties \
    net.world.WorldServer
  • ' @echo off'只是为了停用回声,在你的情况下没有功能效果
  • ' @标题'只是在windows中命令行的窗口中设置标题,在shell中没有用
  • 在类路径中替换';'与':'
  • 代替"设置":"导出" (虽然出口是为了你有子壳,但如果你有它,它也不会受到伤害)
  • 断线时,每次使用\
  • 暂停只是(显然)暂停,在你的情况下没有功能性的影响

答案 1 :(得分:0)

这是我的翻译:

#! /bin/bash

export CLASSPATH="."
export CLASSPATH="$CLASSPATH:dist/TiredStory.jar"
export CLASSPATH="$CLASSPATH:dist/mina-core.jar"
export CLASSPATH="$CLASSPATH:dist/slf4j-api.jar"
export CLASSPATH="$CLASSPATH:dist/slf4j-jdk14.jar"
export CLASSPATH="$CLASSPATH:dist/mysql-connector-java-bin.jar"

java -Xmx100m -Dwzpath=wz \ 
  -Djavax.net.ssl.keyStore=filename.keystore \
  -Djavax.net.ssl.keyStorePassword=keoki \
  -Djavax.net.ssl.trustStore=filename.keystore \
  -Djavax.net.ssl.trustStorePassword=passwd \
  -Drecvops=recvops.properties \
  -Dsendops=sendops.properties \
  net.world.WorldServer

注意CLASSPATH条目是相对目录,这通常是一个坏主意。另外,我不确定wzpath属性需要什么值(它应该包含空格还是反斜杠?)这里只是wz