Esta função deve se parecer com:
callSINGULAR() {
/opt/local/bin/Singular -b "$1"
}
Porque o parâmetro é o primeiro, fornecido para funcionar
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 ...
Tags bash terminal shell-script