You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
petit challenge @ariard : voila quelque cas d'execution qui ne marchent pas correctement mais pas tres compliqué a résoudre:
./42sh << "ls" echo "ls" | ./42sh
probleme:dans ces deux cas l'entree standard n'est pas un terminal (isatty(0) renvoie 0) et donc ce n'est pas un shell "interactif".
rajouter une option a data_singleton()->opts SHELL_IS_INTERACTIVE d'après isatty(STDIN)
dans le main, si c'est interactif on fait la boucle avec le readline, sinon faut lire sur stdin (tu peux surement reutiliser ta fonction pour lire un fichier mais cette fois tu lis sur 0) puis executer comme un script puis quitter
Attention au cas du genre ./42sh script.sh << "ls -l; echo lol" ou je crois que le shell lis le fichier comme s'il n'y avait pas de stdin (a vérifier)
The text was updated successfully, but these errors were encountered:
petit challenge @ariard : voila quelque cas d'execution qui ne marchent pas correctement mais pas tres compliqué a résoudre:
./42sh << "ls"
echo "ls" | ./42sh
probleme:dans ces deux cas l'entree standard n'est pas un terminal (
isatty(0)
renvoie 0) et donc ce n'est pas un shell "interactif".isatty(STDIN)
Attention au cas du genre
./42sh script.sh << "ls -l; echo lol"
ou je crois que le shell lis le fichier comme s'il n'y avait pas de stdin (a vérifier)The text was updated successfully, but these errors were encountered: