У меня есть программа Java, которая использует библиотеки JSch. Я могу успешно вызывать сценарии из него, но при вызове одного сценария, который у меня есть, который вызывает другой сценарий, он не вызывает другой. Я проверил его в командной строке, и он отлично работает. Я знаю, что правильно вызываю сценарий из Java, потому что часть его выполняется. Скрипт ниже.
MOVIE_ROOT="/path/to/Movies"
IMDB_SCRIPT="/path/to/imdb-lookup/imdb-mf.sh"
MOVIE_FOLDER="$1"
MOVIE_FILE="$2"
MOVIE_NAME=${MOVIE_FILE%.*};
# If there isn't any info for the movie
if [ ! -f "$MOVIE_ROOT/$MOVIE_FOLDER/$MOVIE_NAME.jpginfo" ] ; then
cd "$MOVIE_ROOT/$MOVIE_FOLDER"; $IMDB_SCRIPT -p -t "\"$MOVIE_NAME\"" > "$MOVIE_ROOT/$MOVIE_FOLDER/$MOVIE_NAME.mvinfo";
exit 0;
fi
cat "$MOVIE_ROOT/$MOVIE_FOLDER/$MOVIE_NAME.mvinfo";
exit 0;
Я также знаю, что imdb-mf.sh тоже работает. Я повторил строку cd "$MOVIE_ROOT... и вставил ее в командную строку, и она отлично работает. Единственный раз, когда она не работает, - это когда я запускаю скрипт с Java. Все скрипты имеют правильные разрешения и chmod + x Любые идеи о том, что происходит не так?