Par défaut, certains programmes mettent en forme leur sortie en fonction du type de flux dans lequel ils écrivent. Par exemple, la sortie de ls
et ls > file
semble différemment. J'aimerais savoir comment cela est réalisé par un programme. De plus, existe-t-il un moyen de tromper de tels programmes comme si le flux de sortie était un terminal où il s'agit réellement d'un fichier (surtout quand aucune option n'affecte le format de sortie)?Faux type de flux de sortie
4
A
Répondre
5
Via isatty
:
if (!isatty(fileno(stdout))
{
// redirected to a file or piped to a process
}
Une façon de tromper est au lieu de faire redirect, commencer script
. Maintenant, tout ce qui va à 'tty' (y compris ce que vous tapez dans stdin et ce qui est envoyé à la sortie) est envoyé à un fichier appelé typecript.
2
Ces programmes utilisent isatty(fileno(stdout))
pour vérifier s'ils écrivent sur un TTY (terminal) ou autre chose (par exemple un tuyau).
A propos de truquer un TTY, vérifiez Trick an application into thinking its stdin is interactive, not a pipe
+0
Merci d'avoir répondu. – Jeenu
Questions connexes
- 1. Flux de sortie JMF
- 2. "Éteindre" le flux de sortie
- 3. Est-il possible de lier un flux de sortie C++ à un autre flux de sortie?
- 4. Nodejs - Sortie de flux vers le navigateur
- 5. chaîne en écriture à flux de sortie
- 6. Objet (Sortie | Entrée) Protocole binaire de flux
- 7. MVC: Structurer la sortie de flux
- 8. Faux un type-cast en Ruby?
- 9. Custom Post Type URL redirigé faux
- 10. sortie dans le flux d'entrée
- 11. Java EE entrée/sortie flux
- 12. type de code de sortie du compilateur
- 13. C#/BinaryWriter: Insolites Caractères apprearing en flux de sortie
- 14. Écrire un flux de sortie dans une nouvelle fenêtre
- 15. Ecriture dans le flux de sortie à partir de l'action
- 16. Contrôle de flux de sortie dans Silverlight 4
- 17. javax.imageio.IIOException: Impossible de créer un flux de sortie! (En java)
- 18. Tuyau de flux d'entrée et de sortie dans Java
- 19. Passage du flux de sortie PHP vers Java
- 20. changer mime type de sortie en php
- 21. Meilleure façon de canaliser les données d'un flux d'entrée vers plusieurs flux de sortie
- 22. Thrift.Transport.TTransportException: impossible d'écrire dans le flux de sortie nul
- 23. Transmettre le flux de sortie JSP à une méthode
- 24. java socket/flux de sortie écrit: bloquent-ils?
- 25. créer un flux de sortie d'objet à partir d'un objet
- 26. Comment puis-je lire un flux de sortie HttpServletReponses?
- 27. pipe ou Swap entrée/flux de sortie en Java
- 28. est-il possible d'obtenir un flux d'entrée zipentry à partir d'un flux de sortie zip?
- 29. TypeError: faux argument (chaîne)! (Type attendu d'OpenSSL :: Digest :: Digest)
- 30. C# - comment fermer les flux d'entrée et de sortie standard à la sortie du processus?
mieux stdout chèque, non stdin. – ThiefMaster
@ThiefMaster - merci pour les heads-up. Fixé. –