У меня есть этот код, который принимает файл Bash и запустить его, то он печатает proccess с Bash в консоли:Сценарий и Java: как я могу сказать Java, чтобы он помещал выходной файл в новую папку?
package main.java.com.reachforce.java;
import java.io.IOException;
import java.io.InputStream;
public class RunScript {
public static void main(String[] args) throws InterruptedException {
try {
// Run the process
Runtime run = Runtime.getRuntime();
Process p = run.exec("C:/cygwin64/bin/bash -c \\'/bin/tests/SatoriTest1.sh 04.10 C:\\cygwin64\\bin\\tests");
p.waitFor();
// Get the input stream
InputStream is = p.getInputStream();
// Read script execution results
int i = 0;
StringBuffer sb = new StringBuffer();
while ((i = is.read()) != -1)
sb.append((char)i);
System.out.println(sb.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
}
и консоль после запуска он показывает мне:
Test SatoriTest1 писать вывод в/SatoriTest1-вывода
Теперь форматирование файла Imput/входной_файл
Исполнительной локон -k -v -i -X POST -d --output/SatoriTest1-выход --header "Content-Type: применение/JSon" -H "Accept: приложения/JSON"/Сатори-сервис/проверки
Конец SatoriTest1.sh
Я пытался выяснить, где это «SatoriTest1-output» создан, но ... я не могу его найти.
Это .sh файл:
#!/bin/bash
#
# First need to compute directory for sourcing additonal files
DIR="$(dirname "${BASH_SOURCE}")/.."
CURLDIR=`dirname "$(readlink -f "$BASH_SOURCE")"`
SCRIPTNAME="SatoriTest1"
# This script relies on the getconfig settings so calling now .
"${CURLDIR}/getmicroserviceconfig.sh"
# Calling the getmicroserviceconfig.sh function to get the configuration
getmicroserviceconfig
# Also the formatSatori.sh FORMATFILE="${OUTPATH}/formatSatori.sh"
if [ -f "${FORMATFILE}" ] then
. "${FORMATFILE}"
fi
#
# Usage ./SatoriTest1.sh
#
# Testing /satori-service: POSTs a new address for validation
#
# Note: using -k to avoid certificate foof
#
# Depends on: 001-login test (to get a successful login w/security token)
# SatoriTest1: /satori-service/validate: Satori address validation test
#Expect this to submit an address to Satori address validation service
#
THISTEST="SatoriTest1.sh"
APIPATH="satori-service/validate" FULLURL="${WEBSERVICEURL}/${APIPATH}" OUTPUTFILENAME="${OUTPATH}/SatoriTest1-output"
echo "Test $SCRIPTNAME writing output to ${OUTPUTFILENAME}"
NEWSATORIFILE="${OUTPATH}/inputfile"
echo "Now formatting imput file ${NEWSATORIFILE}"
formatSatori "${NEWSATORIFILE}"
NEWSATORIREQ=$newsatorireq
echo ${NEWSATORIREQ} > "${OUTPATH}/${OUTPUTFILENAME}.json"
#
# Now make the API calls using curl
#
# Calling POST with inputfile
echo "Executing curl -k -v -i -X POST -d ${NEWSATORIREQ} --output ${OUTPUTFILENAME} --header \"Content-Type: application/json\" -H \"Accept:application/json\" ${FULLURL}" curl -k
-v -i -X POST -d "${NEWSATORIREQ}" --output "${OUTPUTFILENAME}" --header "Content-Type: application/json" -H "Accept:application/json" "${FULLURL}"
echo "End ${THISTEST}"
Любая помощь?