Передача аргументов октавной функции из сценария bash

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

7
задан Sriram 27 July 2011 в 12:24
поделиться