bash script para chamar duas funções, consecutivamente, cada uma com seu próprio argumento

0

Há muitas perguntas semelhantes, mas não consigo encontrar um exemplo do que estou procurando, nem nos guias de script do Bash (tenho certeza de que está lá, mas é um grande livro ...)

O que eu quero é isso:

Eu tenho um arquivo que eu chamo por: ./runMe.sh, cujo conteúdo é este:

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

Eu quero que o Maxima faça algumas coisas, ditadas pelo primeiro argumento passado no terminal, por exemplo ./runMe MaximaFile SINGULARFile, e que irá gerar um arquivo de texto, Maxima.OUT.

Eu, então, quero, após o arquivo acima (Maxima.OUT) ser escrito, iniciar o SINGULAR no modo batch (também), com o arquivo passado para ele pelo segundo argumento, por exemplo. SINGULARFile. Ele irá ler os dados do Maxima.OUT e fazer algumas coisas.

O problema:

O sccript executa Maxima fine, grava o arquivo, sai e entra no SINGULAR. Mas aparentemente o argumento do arquivo, e. SINGULARFile, não está sendo aberto. Eu posso facilmente iniciar o SINGULAR a partir do terminal e automaticamente executar / abrir o arquivo com

/opt/local/bin/SINGULAR -b SINGULARFile

mas não está funcionando no runMe.sh. Como os programas parecem muito semelhantes, estou assumindo que o meu runMe.sh não está funcionando direito ...

    
por nate 03.05.2015 / 19:59

1 resposta

2

Esta função deve se parecer com:

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

Porque o parâmetro é o primeiro, fornecido para funcionar

    
por 03.05.2015 / 20:34