Я написал функцию в 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}
окрашен по-другому по сравнению с обычными обстоятельствами. Это из-за ''
, используемого для вызова функции октавы? Если так, я должен волноваться об этом?