TLDR;
Я хочу выполнить код октавы в терминале без любого GUI, но стою перед ошибкой заголовка ELF.
Полный вопрос;
Я пытаюсь запустить основной скрипт октавы как видно здесь, который сохраняется как файл, названный testing.oct
x = 5
% This is just some silly comment to make minimum length.
Но, когда я перфорирую octave testing.oct
в мою командную строку, которая уже находится в том каталоге с тем файлом, я получаю следующую ошибку
error: /home/user/programs/junk/testing.oct: failed to load: /home/user/programs/junk/testing.oct: invalid ELF header
Выполнение cat testing.oct
проверяет, что я загружаю файл, я намереваюсь.
Я запускаю Ubuntu 18.04, к которой я просто обновил от 16,04. Согласно octave --version
Я использую 4.2.2. Я у меня есть ранее (в 16,04) используемая октава этим способом с выводом "командного окна", появляющимся в моем терминале и функциях графика/числа, подбрасывающих как маленькие окна, которые ожидают терпеливо, чтобы Вы закрыли их так, чтобы выполнение могло продолжиться.
Я уже попытался следовать совету, содержавшему здесь для восстановления моей установки октавы в случае, если это было проблемой, но это не исправляло мою проблему.
Загрузка октавы GUI и помещение сценария в Командное окно бросают ту же ошибку.
Любая информация, которая может помочь мне использовать октаву из командной строки таким образом, значительно ценилась бы.
Редактирование 1: В ответ на запрос комментария apt-cache policy octave
:
octave:
Installed: 4.2.2-1ubuntu1
Candidate: 4.2.2-1ubuntu1
Version table:
*** 4.2.2-1ubuntu1 500
500 http://us.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
100 /var/lib/dpkg/status
Редактирование 2: В ответ на запрос комментария dpkg -l | grep octave
:
ii liboctave4:amd64 4.2.2-1ubuntu1 amd64 shared libraries of the GNU Octave language
ii octave 4.2.2-1ubuntu1 amd64 GNU Octave language for numerical computations
ii octave-common 4.2.2-1ubuntu1 all architecture-independent files for octave
ii octave-doc 4.2.2-1ubuntu1 all documentation of the GNU Octave language
Я думаю, что проблемой здесь является просто расширение файла .oct, что Вы использовали. .oct расширение имеет особое значение для октавы, и это, как предполагается, не используется для файлов сценария октавы. Просто переименуйте файл от testing.oct до testing.m и попробуйте еще раз, затем он должен работать:
$ octave testing.oct
error: /home/elias/slask/testing.oct: failed to load: /home/elias/slask/testing.oct: file too short
$ mv testing.oct testing.m
$ octave testing.m
x = 5