Caros, estou com uma dúvida de nível "filosófico" e preciso da ajuda dos universitários
Eu trabalho com análises numéricas e quase sempre tenho usado o GNU Octave que é uma versão livre do Matlab. Aliás, por sinal, decidi estudar shellscript exatamente para automatizar a execução de análises longas e chatas ;o) Agora há pouco mesmo, criei dois scripts, um em shell e outro em octave, que selecionam arquivos com listas de pontos (find), plotam um gráfico 3D em sucessivas posições salvando em formato png (octave) e unem as figuras em uma animação (mencoder). A dúvida é a seguinte: Uma das formas de usar o octave é direto no terminal: basta digitar 'octave', o prompt do Octave abre, e aí eu começo a digitar meus comandos, como por exemplo a=1; b=2; a+b. Acontece como abaixo: octave:1> a=1; b=2; a+b ans = 3 Agora, considerando que o script é como se fosse uma sequência de comandos digitados no terminal, o SENSO COMUM sugeriria que basta colocar num script algo como #!/bin/bash octave a=1; b=2; a+b e, ao rodar o script, apareceria o resultado, como se o shell tivesse aberto o octave, e depois tivesse escrito a=1; b=2; a+b, e como o octave estava aberto, isso rodou no octave. Claro que não funciona, e é óbvio que não funcionaria considerando os mais elementares conceitos de shell. O que tenho feito (foi o que me ensinaram e é o que acho que é o correto) é criar um script octave com os comandos nativos dele, e invocar esse script a partir de um script shell. Assim, os comandos de shell ficam no script.sh, e os comandos do Octave ficam no script.m, que é o formato dele. A Pergunta do Dia, então, é: Existe algum meio de criar um script único que contenha comandos de shell e também comandos de outro programa, de modo que o shell execute esse programa e "digite" os comandos enquanto esse programa roda? A motivação para isso é ter um único arquivo, para melhorar a portabilidade. Grato pela atenção e desculpem caso a pergunta seja muito sem pé nem cabeça Helton Moraes [As partes desta mensagem que não continham texto foram removidas]
