Я написал функцию в Octave, которая принимает строку, прочитанную из файла (по одной строке за раз) как входной аргумент. Я использую сценарий bash для чтения строки за раз из файла, а затем передаю ее в качестве аргумента функции октавы из сценария.
Мой сценарий bash выглядит так:
#!/bin/bash
while read line
do
octave --silent --eval 'myOctaveFunc("${line}")'
done < "inFileName"
Когда я выполняю указанный выше сценарий, октава выдает ошибки, например:
error: called from:
error: /usr/share/octave/3.2.3/m/miscellaneous/fullfile.m at line 43, column 11
error: evaluating argument list element number 2
error: evaluating argument list element number 1
error: /usr/libexec/octave/packages/gsl-1.0.8/i386-redhat-linux-gnu-api-v37/PKG_ADD at line 47, column 1
error: addpath: expecting all args to be character strings
error: addpath: expecting all args to be character strings
error: addpath: expecting all args to be character strings
error: addpath: expecting all args to be character strings
и так далее ..
Я смог запустить сценарий октавы myOctaveFunc.m
с входными аргументами, такими как helloWorld
из командной строки. Проблема возникает, когда я пытаюсь запустить его из сценария bash.
Мои вопросы:
1. Как мне запустить функцию октавы из сценария bash?
2. Я использую gvim
для редактирования сценария bash. Когда я набираю строку для вызова скрипта октавы, я вижу, что $ {line}
окрашен иначе, чем в обычных условиях. Это из-за того, что ''
используется для вызова функции октавы? Если да, то стоит ли мне об этом беспокоиться?