把蝙蝠转换成sh

我完全不熟悉在Linux脚本…所以我想移植一些简单的窗口蝙蝠文件到Ubuntu。

第一个文件很容易

setenv.bat set ANT_HOME=c:\ant\apache-ant-1.7.1 set JAVA_HOME=c:\java 

在Linux中,我做到了这一点,似乎确定

  setenv.sh #!/bin/bash JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.24/ ANT_HOME=/usr/share/ant echo $JAVA_HOME echo $ANT_HOME 

但现在我想要移植这个bat文件:startserver.bat

 call ../config/setenv call %ANT_HOME%/bin/ant -f ../config/common.xml start_db call %ANT_HOME%/bin/ant -f ../config/common.xml start_server pause 

但我不知道如何可以在Linux中调用../config/setenv

感谢您给予的任何帮助,指示。

这将是:

#!/bin/sh
source ../config/setenv.sh
${ANT_HOME}/bin/ant -f ../config/common.xml start_db
${ANT_HOME}/bin/ant -f ../config/common.xml start_server

source将使您在当前脚本中可用的setenv.sh中设置的variables。
${ANT_HOME}/bin/ant将执行ant二进制文件。
pause将只是等待,以便cmd.exe窗口不会closures,我build议不要移植。

无论如何,这都是非常基本的东西,看看一些基本的shell脚本教程,如:
https://supportweb.cs.bham.ac.uk/documentation/tutorials/docsystem/build/tutorials/unixscripting/unixscripting.html

  #!/bin/bash cd /path/to/working/directory source ../config/setenv $ANT_HOME/bin/ant -f ../config/common.xml start_db $ANT_HOME/bin/ant -f ../config/common.xml start_server sleep 10 

一旦你在脚本中,你可以直接调用脚本 – 但是这个问题是所有的调用都是相对的。 如果你可以肯定的话,这很好 – 所以你可以做的是添加一个命令来确保 – cd / path / to / working / directory

如果你想拉这些环境variables,使用关键字“源”(又名'。'),而不是调用

对于启动程序,你不需要前缀“呼叫”

另外variables被$ variablename引用而不是%variablename%

又如:

 #!/bin/bash export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.24/ export ANT_HOME=/usr/share/ant $ANT_HOME/bin/ant -f ../config/common.xml start_db $ANT_HOME/bin/ant -f ../config/common.xml start_server