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

问题描述 投票:0回答:1

我有以下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
bash shell
1个回答
0
投票

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

$JAVA_HOME/bin/java -cp $CLASSPATH TrackClient  "$(cat "/tracking/active/${filename}")"
© www.soinside.com 2019 - 2024. All rights reserved.