【问题标题】:Need Help Converting Batch to Shell [closed]需要帮助将批处理转换为外壳 [关闭]
【发布时间】:2014-07-17 22:46:20
【问题描述】:

过去几天我已经查看了所有内容并尝试了许多不同的东西,但似乎无法将我的批处理文件转换为 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

【问题讨论】:

  • 请更具体。您尝试了哪些方法,但没有成功?
  • 你的shell程序在哪里?运行时会发生什么?

标签: java shell batch-file ssl vps


【解决方案1】:

我猜你不需要'@echo off'、'@title'和'pause',所以你的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' 只是为了关闭回声,在你的情况下没有功能效果
  • '@title'只是在windows的命令行窗口中设置标题,在shell中没有用
  • 在类路径中替换';'用':'
  • 而不是“set”:“export”(虽然 export 是在你有 subshel​​l 的情况下,但如果你有它也无妨)
  • 换行时,每次都使用\
  • 暂停只是为了(显然)暂停,对您的情况没有功能影响

【讨论】:

  • 类路径目录分隔符应该是“/”(适用于 unix)不是“\”(适用于 windows)。
  • @DavidPostill 该脚本旨在在 LINUX 环境中运行,您是否阅读过这个问题?
  • 是的,我做到了。在您的回答中,您正确地说“在类路径中替换';'使用 ':'" 但您没有在类路径中更改 "\" 为 "/",这也需要完成 "export CLASSPATH=.:dist/TiredStory.jar:dist/mina-core.jar:dist /slf4j-api.jar:dist/slf4j-jdk14.jar:dist/mysql-connector-java-bin.jar"
  • @DavidPostill 对不起,我的错,我以为你指的是换行符
【解决方案2】:

这是我的翻译:

#! /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

【讨论】:

    猜你喜欢
    • 2022-01-05
    • 2011-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多