我完全不熟悉在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