[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SH + GNU Octave (mas poderia ser SH + qq outro programa)
From: |
Helton Moraes |
Subject: |
SH + GNU Octave (mas poderia ser SH + qq outro programa) |
Date: |
Wed, 28 Apr 2010 22:46:37 -0300 |
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]
- SH + GNU Octave (mas poderia ser SH + qq outro programa),
Helton Moraes <=