проблемы с запуском файла .sh вне сервера - PullRequest
0 голосов
/ 08 октября 2019

У меня есть сценарий оболочки, который собирает пользовательский ввод и генерирует файл json из ввода. Затем входной файл читается скомпилированной программой Matlab, которая затем создает выходной файл, и я использую этот выходной файл для построения графика.

Я работаю на сервере Linux, где я установил среду исполнения Matlab. Внутри сервера все работает нормально, как только я пытаюсь получить доступ к сайту за пределами сервера, .sh не выполняется полностью (он только отображает первые строки и останавливается).

#!/bin/sh
# script for execution of deployed applications
#
# Sets up the MATLAB Runtime environment for the current $ARCH and executes 
# the specified command.
#
exe_name=$0
exe_dir=`dirname "$0"`
echo "------------------------------------------"
if [ "x$1" = "x" ]; then
  echo Usage:
  echo    $0 \<deployedMCRroot\> args
else
  echo Setting up environment variables
  MCRROOT="$1"
  echo ---
  LD_LIBRARY_PATH=.:${MCRROOT}/runtime/glnxa64 ;
  LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MCRROOT}/bin/glnxa64 ;
  LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MCRROOT}/sys/os/glnxa64;
  LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${MCRROOT}/sys/opengl/lib/glnxa64;
  export LD_LIBRARY_PATH;
  echo LD_LIBRARY_PATH is ${LD_LIBRARY_PATH};
  shift 1
  args=
  while [ $# -gt 0 ]; do
      token=$1
      args="${args} \"${token}\"" 
      shift
  done
  eval "\"${exe_dir}/main\"" $args
fi
exit

1 Ответ

0 голосов
/ 08 октября 2019

Использование скрипта, расположенного в корневом каталоге вашего веб-сервиса. Например, это простой файл PHP для запуска сценария оболочки. Используемый путь chdir является лишь примером:

<?php 
chdir('/var/www/yourdir');
$output = shell_exec('./matlab_setup.sh arg1');

Обратите внимание, что доступ к сценарию через Интернет означает любой, кто использует браузер, может получить к нему доступ , если вы не введете дополнительную защиту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...