faboussard / 42_minishell

1 stars 0 forks source link

Si la commande finit par un pipe, mettre syntax error. #37

Closed melobern closed 5 months ago

melobern commented 5 months ago

Après discussion avec un autre étudiant, il ne faut pas gérer l'ouverture de l’entrée standard (qui s'ouvre, dans bash, si on finit une commande par un pipe). Il faut un syntax error qui stoppe comme pour les autres erreurs de syntaxe : ls |

On verra ensuite pour gérer le fait que bash ouvre quand meme les heredocs (peut-être envoyer un tableau qui ne contiendra que les heredocs qui étaient corrects avant l'arrivée de la syntax error).

ls | cat << stop | ls -la | cat << stop1 | ls | cat << stop2 | <<stop3 ls -la > > out | cat << stop3

BASH:~/$ ls < < | << stop
bash: syntax error near unexpected token `<'
BASH:~/$ << stop | ls < < 
bash: syntax error near unexpected token `<'
> stop
BASH:~/$ << stop | ls < < | << coucou | ls < <
bash: syntax error near unexpected token `<'
> stop
BASH:~/$ ls < < | << stop
bash: syntax error near unexpected token `<'
BASH:~/$
faboussard commented 5 months ago

ok corrige . voir si on ouvre le heredoc ou pas