bash文件循环并将内容传递给java调用

时间:2018-03-05 22:03:38

标签: bash shell

我有以下bash脚本,但它不是很正常。这里的目标是将XML从/ source移动到/ active文件夹,然后调用java脚本并传入XML文件内容作为参数,然后将活动文件从/ active移动到/ archive文件夹。

非常感谢任何帮助!

#!/bin/bash 
JAVA_HOME=/usr/lib/jvm/jdk1.6.0_02 
CLASSPATH=/tracking/lib/tracking_client.jar: .
FILES=/tracking/source/*
for f in $FILES
do
  filename=$(basename "$f")
  cd /tracking/source/
  mv /tracking/source/${filename} /tracking/active/${filename}
  cd /tracking/active/
  $JAVA_HOME/bin/java -cp $CLASSPATH TrackClient  ## need to pass XML file contents in to java call as argument
  mv /tracking/active/${filename} /tracking/archive/${filename}
done
exit 0

1 个答案:

答案 0 :(得分:0)

使用$()将命令的结果插入命令。

$JAVA_HOME/bin/java -cp $CLASSPATH TrackClient  "$(cat "/tracking/active/${filename}")"