Comando Shell em C [RESOLVIDO]

1. Comando Shell em C [RESOLVIDO]

Andre Fagundes
terak

(usa Linux Mint)

Enviado em 27/07/2020 - 00:12h

Opa, como eu coloco isso numa variavel ( echo -e "senha1234\n" | sudo -S ./executa.sh ) ?
Ja tentei assim mas diz que nenhuma senha foi fornecida, mas foi:
strcat(var, "echo -e");
strcat(var, " \"");
strcat(var, "senha1234");
strcat(var, "\\");
strcat(var, "n");
strcat(var, "\"");
strcat(var, " | ");
strcat(var, " sudo -S ./executa.sh");

É num programa em C/GTK unsando o comando " system() " .


  


2. MELHOR RESPOSTA

Mauricio Ferrari
mauricio123

(usa Slackware)

Enviado em 08/08/2020 - 21:36h


strcat(var, "echo senha1234 | sudo -S ./executa.sh");

___________________________________
Conhecimento não se Leva para o Túmulo.

3. Re: Comando Shell em C [RESOLVIDO]

Andre Fagundes
terak

(usa Linux Mint)

Enviado em 27/07/2020 - 00:26h

Galera, resolvi removendo alguns identificadores.
Fiz assim:
strcat(var, "echo senha1234 | sudo -S ./executa.sh");


4. Re: Comando Shell em C [RESOLVIDO]

Mauricio Ferrari
mauricio123

(usa Slackware)

Enviado em 27/07/2020 - 12:56h


Muito bom. Eu não sou muito fã do system() embora eu veja necessidade em alguns casos.

Que bom que resolveu.

___________________________________
Conhecimento não se Leva para o Túmulo.


5. Re: Comando Shell em C [RESOLVIDO]

Andre Fagundes
terak

(usa Linux Mint)

Enviado em 27/07/2020 - 13:12h

Bom dia Mauricio123, usei o system() no lugar do:
g_spawn_command_line_sync(
"comando shell",
&standard_out,
&standard_err,
&exit_state,
&err);

Mas gostaria de saber como vc faria?
Pois tenho sede de conhecimento e ainda estou engatinhando na programação.


6. Re: Comando Shell em C [RESOLVIDO]

Mauricio Ferrari
mauricio123

(usa Slackware)

Enviado em 27/07/2020 - 22:12h


Na verdade ainda não usei para executar script sh. Porém, eu pesquisaria a melhor opção para usar com script externo. Ainda tenho que evoluir meus conhecimentos.

Vou começar alguns projetos quando der tempo em c, se eu precisar retorno com os métodos que posso vir a usar.

___________________________________
Conhecimento não se Leva para o Túmulo.