Bash shell com resultados problemáticos no Linux (C) [closed]

0

Após o meu post anterior , ainda tenho um bug irritante que não vai sair.

Eu escrevi um simulador para o comando bash no Linux.

Quando executo meu código em uma única execução, com os seguintes comandos:

ls Debug/ | grep r
ls >> file.jer & ls & ls & ls &
ls >> file.jer
ls > file1.rrr
ls & ls | grep e
ls & ls & ls &
ls Debug/ | grep r
ls Debug/ > k.out
ls Debug/ >> k.out
exit

depois, na terceira linha ls >> file.jer , o programa grava ls: cannot access : No such file or directory . Quando executo o programa e todas as execuções, pressiono as entradas separadamente e, em seguida, a saída correta é apresentada. Eu tentei depurar isso muitas vezes, mas não consegui encontrar o problema.

Problema específico : quando executo o código e alcanço ls Debug/ | grep r , a saída correta é apresentada. Depois disso, quando eu atingi ls >> file.jer & ls & ls & ls & , também aqui o código funciona muito bem. Mas quando eu bato ls >> file.jer , algo muito errado está acontecendo, e não consigo encontrar sua origem, onde novamente a saída para o comando 3rd é Nenhum arquivo ou diretório , mas claramente está errado, pois quando eu o executo em uma única execução, o arquivo file.jer é anexado ao conteúdo do caminho atual.

Eu tenho um main e dois .h arquivos com seus dois .c arquivos.

    
por ron 28.05.2012 / 10:58

1 resposta

1

Problema resolvido!

O motivo do erro foi que enviei uma variável char** para uma função que altera essa variável, e, em seguida, eu free essa variável de volta no principal. Isso não é permitido, portanto, eu precisava enviar um char*** e depois tudo funcionou.

Obrigado a todos.

    
por 28.05.2012 / 14:41