J'utilise des tuyaux et des redirections depuis longtemps et je viens de réaliser que je ne sais pas exactement en quoi ils sont différents. Je sais juste que si vous souhaitez stocker la sortie dans un fichier, vous utilisez>. Sinon, la plupart du temps, vous utilisez simplement |. Quelqu'un peut-il expliquer la différence entre les tuyaux et les redirections?
23
Réponses:
Les deux font la même chose de base; ils redirigent un descripteur de fichier du processus exécuté. La différence réside dans la façon dont. Un canal relie la sortie standard d'un processus à la sortie stdin d'un autre, tandis que la redirection redirige depuis / vers un fichier (
>
de sortie standard vers un fichier,<
d'un fichier vers stdin).la source
/dev/fd
. Par exemple, si vous exécutezecho foo > >(somecommand)
, il se développeraecho foo > /dev/fd/3
. C'est toujours une redirection, mais vers un processus.