Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Shell: utilisation du '-' dans les pipes

2 réponses
Avatar
meta
Bonjour,

Je connais bien le korn shell, pourtant il y a quelque chose que je n'ai
jamais bien maitrisé, c'est le '-' censé récupérer le flux précédent dans un
pipe.

Comme ça ne possède pas de nom particulier et qu'il est difficile de faire
une recherche sur un simple caractère alphanumérique, et celui-là en plus,
je n'ai jamais pu me renseigner vraiment sur les règles d'utilisation, ce
qui fait que lorsque je veux l'utiliser, une fois ça marche, une fois non...
Et tous les tutoriels que j'ai pu trouver n'en parlent jamais.

Je cherche donc une documentation explicite sur le sujet si possible en
français.

Et optionnellement, des explications sur toutes les utilisations de {} pour
remplacer un argument (même si là c'est déjà plus clair).

Et peut-être dans la même veine d'autres caractères de remplacement dans les
commandes que je ne connaitrais pas ?... Mais bon, depuis le temps je les
aurais vus je pense... :p

Merci de votre aide.

2 réponses

Avatar
Gilles Pion
Ref: <4f9eb72a$0$710$ de meta
Bonjour,

Je connais bien le korn shell, pourtant il y a quelque chose que je n'ai
jamais bien maitrisé, c'est le '-' censé récupérer le flux précédent dans un
pipe.



Je pensais bien le connaître aussi et pourtant je ne vois absolument pas de quoi
tu veux parler :-/

Cela dit j'en suis resté à ksh88, sans doute doit-il s'agir d'une fonctionnalité
de ksh93.

Bon, je m'abonne a ce fil, par curiosité. A plus
--
Gilles Pion
Avatar
Stephane Chazelas
2012-04-30 18:00:46 +0200, meta:
Bonjour,

Je connais bien le korn shell, pourtant il y a quelque chose que je
n'ai jamais bien maitrisé, c'est le '-' censé récupérer le flux
précédent dans un pipe.

Comme ça ne possède pas de nom particulier et qu'il est difficile de
faire une recherche sur un simple caractère alphanumérique, et
celui-là en plus, je n'ai jamais pu me renseigner vraiment sur les
règles d'utilisation, ce qui fait que lorsque je veux l'utiliser,
une fois ça marche, une fois non... Et tous les tutoriels que j'ai
pu trouver n'en parlent jamais.

Je cherche donc une documentation explicite sur le sujet si possible
en français.

Et optionnellement, des explications sur toutes les utilisations de
{} pour remplacer un argument (même si là c'est déjà plus clair).

Et peut-être dans la même veine d'autres caractères de remplacement
dans les commandes que je ne connaitrais pas ?... Mais bon, depuis
le temps je les aurais vus je pense... :p


[...]

"-" et "{}" sont tous les deux des conventions utilisés par
certains outils, ca n'a rien a voir avec le shell lui meme, pour
qui c'est un argument comme un autre a une commande.

En gros, pour certaines commandes qui prennent un nom de fichier
en argument, "-", a la place du nom de fichier veut dire:

"au lieu d'ouvrit le fichier "-" et ecrire dessus, ecrire sur le
fd 1 sans ouvrir de fichier"

Ou

"au lieu d'ouvrir le fichier "-" et lire son contenu, lire du fd
0 sans ouvrir de fichier"

Sur les systemes recents, on a le /dev/fd/<x> et /dev/stdin et
/dev/stdout qui rendent cette convention obsolete.

{} est typiquement traité par les commandes "xargs" et "find"
comme un placeholder a remplacer par l'argument lu (xargs) ou
trouvé (find).

--
Stephane