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

Что я хочу это:

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

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

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

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

Эта проблема:

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

/opt/local/bin/SINGULAR -b SINGULARFile

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

1 ответ1

2

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .