Use o seguinte script:
#!/usr/bin/env bash
cd "$( dirname "$0" )"
java Autoingestion <MyAccountName> <MyPassword> <MyVendorID> Sales Weekly Summary
Isso alterará o diretório de trabalho para o local do script e executará o programa Java.
O motivo é provavelmente o caminho implícito da classe .
. De man java
:
-cp classpath
Specifies a list of directories, JAR archives, and ZIP archives
to search for class files. Class path entries are separated by
colons (:). Specifying -classpath or -cp overrides any setting
of the CLASSPATH environment variable.
If -classpath and -cp are not used and CLASSPATH is not set, the
user class path consists of the current directory (.).
Como java
não encontra Autoingestion
em seu diretório de trabalho atual se você chamar o script de algum outro lugar, ele não será iniciado.
Dependendo do comportamento exato do programa (por exemplo, gravar arquivos no diretório de trabalho atual), você também pode tentar especificar um -classpath
adequado, por exemplo:
java -cp "$( dirname "$0" )" Autoingestion <MyAccountName> <MyPassword> <MyVendorID> Sales Weekly Summary