我需要將使用ruby的init.d腳本轉換爲不使用ruby。我可以使用Perl或Python或其他東西,但我不能使用紅寶石。我的主要問題是搞清楚如何動態地獲取目錄中的* .jar文件列表,並用':'分隔它們。剩下的我可以用bash腳本輕鬆完成。如何在不使用ruby的情況下列出init.d腳本的文件
這裏是Ruby代碼我的工作:
#!/usr/local/bin/ruby
require 'fileutils'
HOME = '/usr/local/myproject'
JAVA_HOME = '/usr/java/jdk'
JARS = Dir.glob(File.join(HOME, 'lib', '*.jar')).join(':')
PID_FILE = '/var/run/myproject.pid'
OUT_FILE = File.join(HOME, "stdout")
ERR_FILE = File.join(HOME, "stderr")
case ARGV.first
when 'start'
exec "/usr/local/bin/jsvc -home #{JAVA_HOME} -cp #{JARS} -pidfile #{PID_FILE} -DHOME=#{HOME} -user me -outfile #{OUT_FILE} -errfile #{ERR_FILE} mypackage.MyProject"
when 'stop'
exec "/usr/local/bin/jsvc -home #{JAVA_HOME} -cp #{JARS} -pidfile #{PID_FILE} -stop mypackage.MyProject"
end
最大的可移植性,我認爲你需要'LS -1 ...'強制輸出爲每行一個文件。 – 2010-06-24 17:42:40