faboussard / 42_minishell

1 stars 0 forks source link

cat : cat | cat | ls doit ouvrir l'entrée standard #57

Closed melobern closed 4 months ago

melobern commented 5 months ago

Après la sortie de ls, l'entrée standard doit rester ouverte.

mbernard@z3r8p3:~/sgoinfre/42_minishell.c$ cat | cat | ls
bash_2  ignore_leaks.supp  includes  info.txt  libft  Makefile
minishell  minitester-minishell-tester  non  OUT  questions  srcs  test  tests.txt

mbernard@z3r8p3:~/sgoinfre/42_minishell.c$ 

Avec ls : -> Un here_cat de cat s'ouvre -> Entrer, le here_cat du second cat s'ouvre -> Entrer, le terminal rend le prompt.

Avec cat | cat (ou infinité de cat | cat | cat ...) -> "Entrer" fait sauter deux lignes au terminal.

Si le dernier est un cat et qu'il redirige dans un fichier, tout est bien écrit.

mbernard@z3r8p3:~/sgoinfre/42_minishell.c$ cat | cat | cat > coucou
ahah
ohoh
uhu
hehe
ahahahaha
hihihihihih
huhuhuhuhu
^C
mbernard@z3r8p3:~/sgoinfre/42_minishell.c$ cat coucou 
ahah
ohoh
uhu
hehe
ahahahaha
hihihihihih
huhuhuhuhu
melobern commented 5 months ago

D'autres commandes qui ouvrent l'entrée standard :

➜  42_minishell.c git:(builtins) ✗ grep cocuou
cocuou
cocuou
ahahah
coco
^C
➜  42_minishell.c git:(builtins) ✗ read
ahahahah
➜  42_minishell.c git:(builtins) ✗ ./minishell 
>>>  Minishell>$ read
read: command not found
>>>  Minishell>$ exit
exit
➜  42_minishell.c git:(builtins) ✗ which read
read: shell built-in command
➜  42_minishell.c git:(builtins) ✗ sort
couou
ca
va
ah
ah
o
1
9
5
^C
➜  42_minishell.c git:(builtins) ✗ sort
ca
va
lol
exit
e
q
quit
ohe
ca
e
exit
lol
ohe
q
quit
va
➜  42_minishell.c git:(builtins) ✗ sort
e
e
➜  42_minishell.c git:(builtins) ✗ sort
ca
va
ka
la
ca
ka
la
va
➜  42_minishell.c git:(builtins) ✗ sort | cat
ca
va
la
ca
la
va
➜  42_minishell.c git:(builtins) ✗ wc
un
deux
trois
quatre
cinq
      5       5      26

➜  42_minishell.c git:(builtins) ✗ sed s/sa/ca/g
coucou
coucou
sa
ca
va
va
➜  42_minishell.c git:(builtins) ✗ sed s/sa/ca/g | cat
cic
SA
sa
va
cic
SA
ca
va
➜  42_minishell.c git:(builtins) ✗ cat | wc -l        
coucou
ca
va
3