Executar um arquivo com Shell Script pelo C. [RESOLVIDO]

1. Executar um arquivo com Shell Script pelo C. [RESOLVIDO]

Henry Jansen
HenryJansen

(usa Ubuntu)

Enviado em 14/09/2014 - 12:05h

//Usando Ubuntu 14.04.
//Compilando com gcc.

Fala meus queridos.

Meu programa em C, gera um arquivo "grafico.data". Esse arquivo contem dados para ser plotado no gnuplot. Quando rodo o programa o arquivo é criado, então vou até o diretório e mando no terminal:

-> gnuplot
-> set title 'mapa'
-> set dgrid3d 100,100,20
-> splot 'grafico.data' u ($1):($2):($3) w lines lt3

Ai sai minha superfície coisa linda e maravilhosa....ai fui pesquisar e vi que pelo comando system, eu consigo passar o comando para o terminal executar.

Gostaria de saber como eu faço para meu programa C plotar o gráfico, ou seja, diretamente do programa, ele plotar a superficie, passando as 4 linhas de Shell direto.

Grato pela atenção, Henry.



  


2. Re: Executar um arquivo com Shell Script pelo C. [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 15/09/2014 - 10:09h

Ja tentou executar comando por comando usando o system?

Ou se nao der , tente criar um shell script e rode ele pelo system("./nomeDoPrograma");

Espero ter ajudado

T+


3. Re: Executar um arquivo com Shell Script pelo C. [RESOLVIDO]

Henry Jansen
HenryJansen

(usa Ubuntu)

Enviado em 15/09/2014 - 13:24h

Fiz um script assim:

#!/bin/dash
gnuplot -persistent
set title 'Fundo do Mar'
set dgrid3d 100, 100, 20
splot 'grafico.data' u ($1):($2):($3) w lines lt 3

Nomiei como script e dei permissão de execução.

No programa eu chamo:

System("./script");

O resultado é o seguinte....

1) Ele entre no gnuplot e não plota mais nada.
2) Quando dou exit do gnuplot, ele me retorna a seguinte mensagem:

gnuplot> exit
./script: 5: ./script: Syntax error: "(" unexpected


=(


4. Re: Executar um arquivo com Shell Script pelo C. [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 15/09/2014 - 14:57h

Seu problema é menos de C, e mais com saber usar o gnuplot.

Eu recomendo que você pesquise se não há como especificar os comandos de configuração do gráfico a ser plotado na própria linha de comando do gnuplot. Se não existir, procure por uma opção que permita ler os comandos a partir de um arquivo.

Nunca usei o gnuplot, mas veja o que faz a opção "-e".


5. Re: Executar um arquivo com Shell Script pelo C. [RESOLVIDO]

Henry Jansen
HenryJansen

(usa Ubuntu)

Enviado em 15/09/2014 - 18:37h

Thihup e Paulo, obrigado pelas respostas, a colaboração de vcs me fez chegar a um resultado satisfatória. Para fazer essa chamada do gnuplot passando varios parametros, eu fiz da seguinte maneira:


(1) - Criei um arquivo, chamado script.gp, no gedit mesmo, e coloquei os comandos:

set title 'Fundo do Mar'
set dgrid3d 100,100,20
set contour
splot 'grafico.data' u ($1):($2):($3) w lines lt 3


Ai, salvo esse arquivo no mesmo diretório, basta chama-lo de dentro do programa C:

#include <stdio.h>
#include <stdlib.h>

int main ()
{
system("gnuplot -persist script.gp");

return 0;
}


Obrigado pela atenção, duvida sanada!


6. Re: Executar um arquivo com Shell Script pelo C. [RESOLVIDO]

Thiago Henrique Hüpner
Thihup

(usa Manjaro Linux)

Enviado em 15/09/2014 - 18:50h

Agora escolha a melhor resposta (que + lhe ajudou)

T+






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts