Pular para o conteúdo

Comando Shell em C [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Comando Shell em C [RESOLVIDO]

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() " .

Responder tópico

2. Re: Comando Shell em C [RESOLVIDO]

Melhor resposta

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]

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]

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]

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]

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.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder