vc poderia usar uma combinacao de tail com o seu script para fazer isto,
veja este exemplo com o comando cat -n
peczenyj$ cat a.sh
#!/bin/bash
tail -n +3 $0 | cat -n ; exit 0
texto bem
divertido
peczenyj$ ./a.sh
1 texto bem
2
3 divertido
4
se vc trocar o cat -n pelo octave, por exemplo, deveria funcionar.
outra opcao seria vc informar o octave + opcoes no hashbang
se for octave -f arquivo vc poderia fazer
#!/usr/bin/env octave -f
a + b - c ...
costumava fazer isto para meus scripts no gnuplot.
Se vc quer usar em parte do script apenas use here document
2010/4/28 Helton Moraes <[email protected]>
>
>
> 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]
>
>
>
--
Tiago B. Peczenyj
Linux User #405772
http://pacman.blog.br
[As partes desta mensagem que não continham texto foram removidas]
------------------------------------
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: [email protected]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil
Links do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
<*> Para sair deste grupo, envie um e-mail para:
[email protected]
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html