bash-скрипт для последовательного вызова двух функций, каждая со своим аргументом

bash-скрипт для последовательного вызова двух функций, каждая со своим аргументом

Похожих вопросов много, но я не могу найти пример того, что ищу, даже в руководствах по написанию сценариев Bash (я уверен, что они там есть, но это большая книга...)

Я хочу вот этого:

У меня есть файл, который я вызываю через: ./runMe.sh, содержимое которого следующее:

callMaxima() {
maxima -b "$1"
}
callSINGULAR() {
/opt/local/bin/Singular -b "$2"
}
callMaxima $1;
callSINGULAR $2;

Я хочу, чтобы Maxima выполнила некоторые действия, продиктованные первым аргументом, переданным в терминале, например, ./runMe MaximaFile SINGULARFile, и которые сгенерируют текстовый файл Maxima.OUT.

Затем я хочу, после того как файл выше (Maxima.OUT) будет записан, запустить SINGULAR в пакетном режиме (также), с файлом, переданным ему вторым аргументом, например SINGULARFile. Он будет считывать данные из Maxima.OUT и делать что-то.

Проблема:

Скрипт отлично запускает Maxima, записывает файл, выходит и входит в SINGULAR. Но, по-видимому, аргумент файла, например SINGULARFile, не открывается. Я могу легко запустить SINGULAR из терминала и автоматически выполнить/открыть файл с помощью

/opt/local/bin/SINGULAR -b SINGULARFile

но это не работает в runMe.sh. Поскольку программы кажутся очень похожими, я предполагаю, что мой runMe.sh работает неправильно...

решение1

Эта функция должна выглядеть так:

callSINGULAR() {
/opt/local/bin/Singular -b "$1"
}

Поскольку параметр является первым, предоставленным для функции

Связанный контент