Questions marquées «pipe»

Un tube est une connexion interprocessus entre les descripteurs de fichiers de deux processus. Un tube est créé avec la fonction POSIX pipe () (à partir de <unistd.h>). Les shells créent des tuyaux entre les processus si le "|" le symbole est utilisé: "cmd1 | cmd2" dirige la sortie de cmd1 vers l'entrée de cmd2. Sous Windows, utilisez CreatePipe (). Ce mécanisme redirige l'entrée standard, la sortie standard et l'erreur standard dans le processus d'appel dans .NET et Java.

982
Comment puis-je diriger stderr, et non stdout?

J'ai un programme qui écrit des informations dans stdoutet stderr, et je dois passer au greptravers de ce qui arrive à stderr , sans tenir compte de stdout . Je peux bien sûr le faire en 2 étapes: command > /dev/null 2> temp.file grep 'something' temp.file mais je préférerais pouvoir le faire...

252
Comment détecter si mon script shell s'exécute via un canal?

Comment détecter à partir d'un script shell si sa sortie standard est envoyée à un terminal ou si elle est dirigée vers un autre processus? Le cas d'espèce: je voudrais ajouter des codes d'échappement pour coloriser la sortie, mais uniquement lorsqu'il est exécuté de manière interactive, mais pas...

205
Lire des valeurs dans une variable shell à partir d'un tuyau

J'essaie d'obtenir que bash traite les données de stdin qui sont acheminées, mais pas de chance. Ce que je veux dire, c'est qu'aucun des travaux suivants: echo "hello world" | test=($(< /dev/stdin)); echo test=$test test= echo "hello world" | read test; echo test=$test test= echo "hello world" |...

195
Comment utiliser `jq` dans un pipeline shell?

Je n'arrive pas à me jqcomporter "normalement" dans un pipeline shell. Par exemple: $ curl -s https://api.github.com/users/octocat/repos | jq | cat entraîne jqsimplement l'impression de son texte d'aide *. La même chose se produit si j'essaie de rediriger jqla sortie de vers un fichier: $ curl -s...

148
Comment ouvrir chaque fichier dans un dossier?

J'ai un script python parse.py, qui dans le script ouvre un fichier, disons file1, puis fait quelque chose, peut-être afficher le nombre total de caractères. filename = 'file1' f = open(filename, 'r') content = f.read() print filename, len(content) En ce moment, j'utilise stdout pour diriger le...